Logstash Groking Syslog 事件

Logstash Groking Syslog 事件

我有一个 logstash 服务器,它将事件发送到一个 elasticsearch 服务器,该服务器在 Kibana 中显示结果。除了 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 是执行解析并发送到 elasticsearch 的 logstash 服务器的名称。我不确定为什么它同时显示 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" ]
...
}

相关内容