
我有一個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 [email protected] as user1
答案1
結帳覆蓋選項http://logstash.net/docs/1.3.1/filters/grok#overwrite
grok{
...
overwrite => [ "host" ]
...
}