【问题标题】:Not getting each error email alert from logstash 1.5.4未从 logstash 1.5.4 收到每个错误电子邮件警报
【发布时间】:2015-09-03 09:21:02
【问题描述】:

我的 ELK 设置如下:

HOST1:组件(生成日志)+ Logstash(发送日志到redis)

HOST2: Redis + Elasticsearch + Logstash(基于 grok 解析数据并在相同设置下发送到 elasticsearch)

HOST3: Redis + Elasticsearch + Logstash(基于 grok 解析数据并在相同设置下发送到 elasticsearch)

HOST4: nginx + Kibana 4

现在,当我从 logstash 向 redis 发送一条错误日志行时,我在 Kibana 4 中得到了双重输入。如下所示:

另外,我没有收到任何来自 logstash 的电子邮件警报,尽管它被配置为在 severity == "Erro" 时发送警报。

这是logstash conf文件的一部分:

output {
elasticsearch { host => ["<ELK IP>"]  port => "9200" protocol => "http" }
if [severity] =~ /Erro/
{
email {
        from => "someone@somedomain.com"
        subject => "Error Alert"
        to => "someone@somedomain.com"
        via => "smtp"
        htmlbody => "<h2>Error Alert1</h2><br/><br/><div
        align='center'>%{message}</div>"
        options => [
               "smtpIporHost", "smtp.office365.com",
               "port", "587",
               "domain", "smtp.office365.com",
               "userName", "someone@somedomain.com",
               "password", "somepasswd",
               "authenticationType", "login",
               "starttls", "true"
       ]
}
}
stdout { codec => rubydebug }
}

我正在使用以下自定义 grok 模式来解析日志行:

ABTIMESTAMP %{YEAR}%{MONTHNUM2}%{MONTHDAY} %{USERNAME}
ABLOGLEVEL (Note|Erro|Fatl|Warn|Urgt)
ABLOG %{ABTIMESTAMP:timestamp} %{HOST:hostname} %{WORD:servername} %{INT:pid} %{INT:lwp} %{INT:thread} %{ABLOGLEVEL:severity};%{USERNAME:event}\(%{NUMBER:msgcat}/%{NUMBER:msgnum}\)%{GREEDYDATA:greedydata}

这里有什么帮助,如何获取每个错误日志行的每个电子邮件警报?

提前致谢!

【问题讨论】:

  • 从 Kibana 屏幕截图中,您的 severity 字段似乎是一个包含两个 Erro 值的数组,这可能是您的检查不起作用的原因,因此,您的电子邮件是没有发送。
  • 那是我关心的问题,当我只放一次这一行时,它是如何获取包含多个值的严重性字段数组的......
  • 您的问题中缺少一件事,即您如何解析日志行?
  • 我已经为它编写了自定义 grok,ABTIMESTAMP %{YEAR}%{MONTHNUM2}%{MONTHDAY} %{USERNAME} ABLOGLEVEL (Note|Erro|Fatl|Warn|Urgt) ABLOG %{ABTIMESTAMP:timestamp} %{HOST:hostname} %{WORD:servername} %{INT:pid} %{INT:lwp} %{INT:thread} %{ABLOGLEVEL:severity};%{USERNAME:event}\(%{NUMBER:msgcat}/%{NUMBER:msgnum}\)%{GREEDYDATA:greedydata}
  • 我认为如果您可以使用该配置更新您的问题并添加您可能拥有的任何自定义模式定义,那就太好了。

标签: elasticsearch logstash kibana-4


【解决方案1】:

解决了...实际上我在 logstash/conf.d 文件夹中有多个 conf 文件。我删除了所有不必要的文件,只保留了我的 conf 文件,现在它可以工作了。 :)。感谢 Val 的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多