【问题标题】:Logstash filter sectionLogstash 过滤器部分
【发布时间】:2015-06-04 10:01:26
【问题描述】:

您能否建议如何使用 Logstash 1.5 过滤特定单词?例如,需要过滤以下词:Critical、Exit、Not connected。 我记得,在以前的 Logstash 版本(即 1.4 和更早版本)中,可以使用 grep 过滤器。

目前我的 logstash.conf 包含:

input {
file {
    path => ["C:\ExportQ\export.log"]
    type => "Exporter-log"
    codec => plain {
        charset => "CP1251"
    }
    start_position => "beginning"
    sincedb_path => "C:\Progra~1\logstash\sincedb"
    }
}

filter {
}

output {
    stdout { codec => rubydebug }
    zabbix {
        zabbix_host => "VS-EXP"
        zabbix_key => "log.exp"
        zabbix_server_host => "192.168.1.71"
        zabbix_value => "message"
    }
}
}

非常感谢!

【问题讨论】:

    标签: filter logstash zabbix


    【解决方案1】:

    使用条件和删除过滤器删除匹配的消息。

    filter {
      # Simple substring condition
      if "boring" in [message] {
        drop { }
      }
    
      # Regexp match
      if [message] =~ /boring/ {
        drop { }
      }
    }
    

    【讨论】:

    • 马格努斯,感谢您的回复!但是任何包含关键字(Critical、Exit、Not connected)的字符串都必须发送到输出(zabbix 插件)。所有其他消息可能会被跳过/丢弃。我可以在这种情况下使用:if [message] !~ /Error|Critical/ 吗?
    • 是的,只是否定条件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2015-12-13
    • 2014-10-20
    相关资源
    最近更新 更多