Logstash Groking Eventos Syslog

2

Eu tenho um servidor logstash enviando eventos para um servidor elasticsearch que está exibindo os resultados no Kibana. Tudo está funcionando muito bem, além do Kibana está mostrando 2 nomes no campo do host. Eu estou usando o seguinte filtro de grok no logstash.

^(?:<%{POSINT:syslog_pri}>)?%{SYSLOGTIMESTAMP:timestamp} %{IPORHOST:host} (?:%{PROG:program}(?:\[%{POSINT:pid}\])?: )?%{GREEDYDATA:message}

Quando eu uso o depurador Grok, tudo é analisado corretamente. No entanto, quando vejo isso em Kibana, mostra isso:

"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 tanto o servidor logstash quanto a fonte real como o host. Como posso remover o logstash1 do campo do 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
    
por Eric 18.12.2013 / 16:57

1 resposta

3

Opção de substituição de check-out link

grok{
...
    overwrite => [ "host" ]
...
}
    
por 18.12.2013 / 17:47