Logstash Groking События Syslog

Logstash Groking События Syslog

У меня есть сервер logstash, отправляющий события на сервер elasticsearch, который отображает результаты в Kibana. Все работает довольно хорошо, за исключением того, что Kibana показывает 2 имени в поле хоста. Я использую следующий фильтр grok в logstash.

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

Когда я использую отладчик Grok, все анализируется правильно. Однако, когда я просматриваю его в Kibana, он показывает это:

"host": [
  "logstash1",
  "servername.domain.com"
],

Где logstash1 — это имя моего сервера logstash, который выполняет парсинг и отправку в elasticsearch. Я не уверен, почему он показывает и сервер logstash, и фактический источник в качестве хоста. Как мне удалить logstash1 из поля хоста? Вот примеры журналов:

Dec 18 00:00:08 servername.domain.com pam_rhosts_auth[24233]: allowed to [email protected] as user1

решение1

Возможность перезаписи при оформлении заказаhttp://logstash.net/docs/1.3.1/filters/grok#overwrite

grok{
...
    overwrite => [ "host" ]
...
}

Связанный контент