Tengo un servidor logstash que envía eventos a un servidor elasticsearch que muestra los resultados en Kibana. Todo está funcionando bastante bien, aparte de que Kibana muestra 2 nombres en el campo de host. Estoy usando el siguiente filtro grok en logstash.
^(?:<%{POSINT:syslog_pri}>)?%{SYSLOGTIMESTAMP:timestamp} %{IPORHOST:host} (?:%{PROG:program}(?:\[%{POSINT:pid}\])?: )?%{GREEDYDATA:message}
Cuando uso el depurador de Grok, todo se analiza correctamente. Sin embargo, cuando lo veo en Kibana, muestra esto:
"host": [
"logstash1",
"servername.domain.com"
],
Donde logstash1 es el nombre de mi servidor logstash que realiza el análisis y el envío a elasticsearch. No estoy seguro de por qué muestra tanto el servidor logstash como la fuente real como host. ¿Cómo puedo eliminar logstash1 del campo host? Un ejemplo de los registros son:
Dec 18 00:00:08 servername.domain.com pam_rhosts_auth[24233]: allowed to [email protected] as user1
Respuesta1
Opción de sobrescritura de pagohttp://logstash.net/docs/1.3.1/filters/grok#overwrite
grok{
...
overwrite => [ "host" ]
...
}