我正在使用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 }
}
建议?
答案 0 :(得分:1)
要使用syslog_pri
过滤器,您只需要一个包含值的字段,然后由过滤器对其进行解码。如果您有一个已命名为syslog_pri
的字段,那么使用它就像放
syslog_pri { }
在您的logstash配置中。
此插件将创建4个附加字段,其中包含已解码的syslog_pri信息:
对于变异字段,语法如下。
mutate {
replace => { "syslog_pri" => "11"}
}