Logstash:如何使用syslog_pri插件

时间:2017-07-18 16:06:48

标签: elasticsearch logstash syslog logstash-grok

我正在使用Elastic stack。我的Logstash解析了很多消息。我决定为Logstash添加一些额外的规则。 我已经将Syslog pri plugin安装到我的Logstash,因为我想为我的系统日志的严重性级别创建一些映射。

根据RFC-3164,我的所有邮件都有syslog_pri个值,其中error条消息的“(3,11,19,...,187)”值为{{1} }}

好吧,我有两个问题:

1)它对我来说不是很有用,因为通过Kibana查询是不可用的。当我想过滤错误时,它看起来像:

syslog_pri

但使用syslog_pri: (3 OR 11 OR 19 OR 27 OR 35 OR 43 OR 51 OR 59 OR 67 OR 75 OR 83 OR 91 OR 99 OR 107 OR 115 OR 123 OR 131 OR 139 OR 147 OR 155 OR 163 OR 171 OR 179 OR 187) 插件会更容易。我希望有类似的东西:

syslog_pri

是否有可能以某种方式创建此映射?

2)我想为某些特定消息更改此syslog_pri: "error" 值。 例如,我正在捕捉“Hello world”之类的消息,并希望将严重性从14(信息消息)更改为11(错误消息)。

我正在做这样的事情:

syslog_pri

但这失败了一个错误: filter { grok { match => { "message" => "..." } } syslog_pri { } if "Hello world" in [message] { mutate { syslog_pri => 11 } }

建议?

1 个答案:

答案 0 :(得分:1)

要使用syslog_pri过滤器,您只需要一个包含值的字段,然后由过滤器对其进行解码。如果您有一个已命名为syslog_pri的字段,那么使用它就像放

一样简单
syslog_pri { } 
在您的logstash配置中

此插件将创建4个附加字段,其中包含已解码的syslog_pri信息:

  • SYSLOG_FACILITY
  • syslog_severity
  • syslog_facility_code
  • syslog_severity_code

对于变异字段,语法如下。

mutate {
  replace => { "syslog_pri" => "11"}
}