【发布时间】:2020-01-08 03:47:14
【问题描述】:
我创建了两个 mutate 过滤器,一个用于获取所有 /var/log/messages 以键入 > security,另一个 mutate 过滤器用于从一种主机获取所有日志以键入 > host_type。 我无法在 host_type 索引中看到 /var/log/messages。
这是我正在使用的过滤器代码,请帮助我了解这里发生了什么。为什么我无法在我的 apihost 索引中看到 /var/log/messages? 我在主机上设置了 filebeat 以将日志发送到 logstash。
filter {
if [source] =~ //var/log/(secure|syslog|auth.log|messages|kern.log)$/ {
mutate {
replace => { "type" => "security" }
}
}
}
filter-apihost.conf
filter {
if (([host.name] =~ /(?i)apihost-/) or ([host] =~ /(?i)apihost-/)) {
mutate {
replace => { "type" => "apihost" }
}
}
}
【问题讨论】:
-
在此之前需要逃生。这个
//var/log/需要是/\/var\/log\/。你改变这个,看看你的代码是否有效。否则在此处发布更改正则表达式后出现的错误
标签: elasticsearch logstash elk