Elasticsearch
Logstash Groking 系統日誌事件
我有一個 logstash 伺服器將事件發送到在 Kibana 中顯示結果的 elasticsearch 伺服器。一切都很好,除了 Kibana 在主機欄位中顯示 2 個名稱。我在 logstash 中使用以下 grok 過濾器。
^(?:<%{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 user1@192.168.1.1 as user1
結帳覆蓋選項http://logstash.net/docs/1.3.1/filters/grok#overwrite
grok{ ... overwrite => [ "host" ] ... }