我有3台服务器:
-
Elasticsearch / Kibana
-
Logstash
-
Web服务器
在Web服务器上,我运行了filebeat和metricbeat . 我希望filebeat发送的apache日志是grok'd,而不是metricbeat系统日志 .
在我的logstash服务器上,我在/etc/logstash/conf.d/中有一个名为“apache-filter.conf”的文件,这是文件在工作时的样子:
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
grok {
match => { "message" => "%{IP:client}"}
}
geoip {
source => "client"
}
}
然后我添加了一个条件,它打破了(数据传递给elasticsearch raw而没有应用过滤器):
filter {
if [filebeat] in [_index] {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
grok {
match => { "message" => "%{IP:client}"}
}
geoip {
source => "client"
}
}
}
我究竟做错了什么?
以下是Kibana的Discover选项卡中的“_index”字段示例:
_index filebeat-2018.04.06
1 回答
in
运算符在字符串列表上执行完全匹配 . 你需要模式匹配: