У меня есть сервер logstash, отправляющий события на сервер elasticsearch, который отображает результаты в Kibana. Все работает довольно хорошо, за исключением того, что Kibana показывает 2 имени в поле хоста. Я использую следующий фильтр grok в logstash.
^(?:<%{POSINT:syslog_pri}>)?%{SYSLOGTIMESTAMP:timestamp} %{IPORHOST:host} (?:%{PROG:program}(?:\[%{POSINT:pid}\])?: )?%{GREEDYDATA:message}
Когда я использую отладчик Grok, все разбирается правильно. Однако, когда я просматриваю его в Кибане, он показывает следующее:
"host": [
"logstash1",
"servername.domain.com"
],
Где logstash1 - это имя моего сервера logstash, который выполняет синтаксический анализ и отправляет в elasticsearch. Я не уверен, почему он показывает как сервер logstash, так и фактический источник в качестве хоста. Как я могу удалить logstash1 из поля хоста? Примеры журналов:
Dec 18 00:00:08 servername.domain.com pam_rhosts_auth[24233]: allowed to user1@192.168.1.1 as user1
Возможность перезаписи кассы http://logstash.net/docs/1.3.1/filters/grok#overwrite
grok{
...
overwrite => [ "host" ]
...
}