【问题标题】:Logstash metric filter for log-level日志级别的 Logstash 指标过滤器
【发布时间】:2017-03-28 14:29:04
【问题描述】:

有人可以帮我处理我的指标过滤器吗?我想设置 logstash 以每 5 秒检查一次 log-level= Error ,如果 log-level = ERROR 超过 1 ,应该发送一封电子邮件。我正在使用logstash 2.2.4

input {
      file {
        path => "/var/log/logstash/example"
        start_position => beginning
      }
    }

filter {
 grok{
   match => { "message" => "\[%{TIMESTAMP_ISO8601:timestamp}\]\[%{LOGLEVEL:log-level}\s*\]" }
 }
 if [log-level] == "ERROR" {
   metrics {
       meter => [ "log-level" ]
       flush_interval => 5
       clear_interval => 5
      }
   }
}
output {
if [log-level] == "ERROR" {
  if [log-level][count] < 1 {
    email {
        port => 25
        address => "mail.abc.com"
        authentication => "login"
        use_tls => true
        from => "alerts@logstash.com"
        subject => "logstash alert"
        to => "siya@abc.com"
        via => "smtp"
        body => "here is the event line %{message}"
        debug => true
      }
    }
  }
}

【问题讨论】:

    标签: logstash logstash-grok logstash-configuration


    【解决方案1】:

    社论:

    我不喜欢 metrics {} 过滤器,因为它打破了假设。 Logstash 是多线程的,指标是仅在其线程中保持状态的过滤器之一。如果您使用它,您需要注意,如果您正在运行 4 个管道工作者,那么您有 4 个独立线程保持它们自己的状态。这打破了所有“进入 logstash”的事件都将被“按指标过滤器”计数的假设。

    对于您的用例,我建议不要使用 Logstash 来发出这封电子邮件,而是依赖于您的后备存储的外部轮询机制。


    因为这是指标过滤器,我强烈建议您将 filter-workers 的数量设置为 1。这是 logstash 启动时的-w 命令行选项。您将失去并行性,但您将获得单个过滤器查看所有事件的能力。如果你不这样做,你可能会遇到这样的情况,比如说,6 个线程每个都看到一个 ERROR 事件;您将收到六封电子邮件。

    您的配置可能会使用一些更新。建议在metrics {} 过滤器中添加标签或其他内容。

     metrics {
         meter => [ "log-level" ]
         flush_interval => 5
         clear_interval => 5
         add_tag => "error_metric"
        }
     }
    

    这样,您可以更好地过滤您的电子邮件段。

    output {
      if [tags] include "error_metric" and [log-level][count] > 1 {
        email {
        }
      }
    }
    

    这是因为metrics {} 过滤器在刷新时会创建一个新事件,而不是修改现有事件。您需要使用过滤器捕捉新事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多