0
Logstashの新機能です。現在、私はzabbix項目にエラーログを送るlogstash.confファイルを持っています。 カスタムgrokフィルタを適用してERROR | Error | errorキーワードを検索し、それに基づいて出力をzabbixアイテムにリダイレクトしました。 しかし、単に対応するログを送信するのではなく、フィルタ結果がtrueと評価されるたびに増分カウンタを送信するようにします。 どうすれば実現できますか?Logstashの出力を使用してエラーログの数をzabbixに送信する方法は?
私が使用しているログファイルのスニペットです。
ruby filter pluginで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]"
}