elasticsearch 如何向我的logstash grok过滤器添加条件?
我有3台服务器:
elasticsearch 如何向我的logstash grok过滤器添加条件?,
elasticsearch,logstash,elastic-stack,logstash-grok,
elasticsearch,Logstash,Elastic Stack,Logstash Grok,我有3台服务器: Elasticsearch/Kibana 伐木场 网络服务器 在web服务器上,我运行filebeat和metricbeat。我希望filebeat发送的apache日志是grok'd日志,而不是metricbeat系统日志 在我的logstash服务器上,我在/etc/logstash/conf.d/中有一个名为“apache filter.conf”的文件,下面是该文件工作时的样子: filter { grok { match => { "messag
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
grok {
match => { "message" => "%{IP:client}"}
}
geoip {
source => "client"
}
}
然后,我添加了一个条件,它断开了(数据被传递到elasticsearch raw,没有应用任何过滤器):
我做错了什么
以下是Kibana中“发现”选项卡中的“索引”字段示例:
_index filebeat-2018.04.06
中的
运算符对字符串列表进行精确匹配。您需要进行模式匹配:
if ([_index] =~ /filebeat/) {
// filters here
}
谢谢你的回复。我尝试了你的解决方案,但没有成功。更新:事实上,它成功了。它只需要在条件语句周围加上括号。非常感谢你!!!
if ([_index] =~ /filebeat/) {
// filters here
}