Isso é antigo, mas achei que escreveria esse método que uso para sites de tráfego baixo / médio (não sei se funcionará bem para sites de tráfego pesado):
No Apache, eu defino um formato CustomLog chamado graylog2_access
que formata o log de acesso em um formato GELF e depois envio meu log através do Graylog2 canalizando os dados do log através do nc para enviar mensagens GELF para a entrada do Graylog2. >
Aqui está o formato personalizado que ele cria (legível por humanos):
{
"version": "1.1",
"host": "%V",
"short_message": "%r",
"timestamp": %{%s}t,
"level": 6,
"_user_agent": "%{User-Agent}i",
"_source_ip": "%a",
"_duration_usec": %D,
"_duration_sec": %T,
"_request_size_byte": %O,
"_http_status": %s,
"_http_request_path": "%U",
"_http_request": "%U%q",
"_http_method": "%m",
"_http_referer": "%{Referer}i"
}
Para a configuração do Apache, aqui está uma versão de copiar / colar:
LogFormat "{ \"version\": \"1.1\", \"host\": \"%V\", \"short_message\": \"%r\", \"timestamp\": %{%s}t, \"level\": 6, \"_user_agent\": \"%{User-Agent}i\", \"_source_ip\": \"%a\", \"_duration_usec\": %D, \"_duration_sec\": %T, \"_request_size_byte\": %O, \"_http_status\": %s, \"_http_request_path\": \"%U\", \"_http_request\": \"%U%q\", \"_http_method\": \"%m\", \"_http_referer\": \"%{Referer}i\" }" graylog2_access
Em seguida, na sua configuração de host:
CustomLog "|nc -u graylogserver 12201" graylog2_access