Eu tenho um servidor logstash enviando eventos para um servidor elasticsearch que está exibindo os resultados no Kibana. Tudo está funcionando muito bem, exceto que Kibana está mostrando 2 nomes no campo host. Estou usando o seguinte filtro grok no logstash.
^(?:<%{POSINT:syslog_pri}>)?%{SYSLOGTIMESTAMP:timestamp} %{IPORHOST:host} (?:%{PROG:program}(?:\[%{POSINT:pid}\])?: )?%{GREEDYDATA:message}
Quando uso o depurador Grok, tudo é analisado corretamente. No entanto, quando vejo isso no Kibana, ele mostra o seguinte:
"host": [
"logstash1",
"servername.domain.com"
],
Onde logstash1 é o nome do meu servidor logstash que está fazendo a análise e enviando para o elasticsearch. Não sei por que ele está mostrando o servidor logstash e a fonte real como host. Como posso remover o logstash1 do campo Host? Um exemplo dos logs são:
Dec 18 00:00:08 servername.domain.com pam_rhosts_auth[24233]: allowed to [email protected] as user1
Responder1
Opção de substituição de checkouthttp://logstash.net/docs/1.3.1/filters/grok#overwrite
grok{
...
overwrite => [ "host" ]
...
}