Elasticsearch

Logstash Groking 系統日誌事件

  • December 18, 2013

我有一個 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" ]
...
}

引用自:https://serverfault.com/questions/562229