0
我是Logstash的新手。目前我有一个logstash.conf文件,将错误日志发送到zabbix项目。 我已经应用了一个自定义Grok过滤器来查找ERROR | Error | error关键字,并基于它将输出重定向到zabbix项目。 但是,我希望logstash每当过滤器结果计算为true时发送增量计数器,而不是简单地发送相应的Log。 我该如何做到这一点?如何使用Logstash输出将错误日志的计数发送到zabbix?
这是我正在使用的日志文件的片段。
input {
file {
path => "/root/sample.log"
type => "string"
}
}
# The filter part of this file is commented out to indicate that it is
# optional.
filter {
mutate {
add_field => { "[@metadata][error]" => "error" }
add_field => { "[@metadata][counter]" => "1" }
add_field => { "myhost" => "logstash" }
}
if "grokked" not in [tags] {
grok {
patterns_dir => ["/root/logstash-5.5.0/pattern"]
match => { "message" => "%{ERROR:log_level}" }
add_tag => ["ERROR", "grokked"]
}
}
}
output {
stdout { codec => rubydebug }
if "ERROR" in [tags]{
zabbix
{
zabbix_server_host => "192.168.56.102"
zabbix_host => "myhost"
zabbix_key => "[@metadata][error]"
#zabbix_value => "[@metadata][counter]"
}