没有从logstash 1.5.4获取每个错误电子邮件警报

时间:2015-09-03 09:21:03

标签: elasticsearch logstash kibana-4

我的ELK设置如下:

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

HOST2: Redis + Elasticsearch + Logstash(根据grok解析数据并将其发送到相同设置的elasticsearch)

HOST3: Redis + Elasticsearch + Logstash(根据grok解析数据并将其发送到相同设置的elasticsearch)

HOST4: nginx + Kibana 4

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

enter image description here

另外,我没有从logstash收到任何电子邮件提醒,但它被配置为在严重性==" 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}

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

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