我一直在玩 logstash,想知道如何正确配置电子邮件警报。
我正在寻找字符串“BVDCS_LAP”并将邮件发送到给定的地址。
我的配置是:
input {
udp {
port => 5000
type => syslog
}
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}
email {
from => "mymail@domain"
match => {
"BVDCS_LAP", "message,BVDCS_LAP",
"BVDCS_LAP", "message,BVDCS_LAP"
}
subject => "%{matchName}"
to => "mymail@domain"
via => "smtp"
body => "Here is the event line that occured: %{message}"
htmlbody => "<h2>%{matchName}</h2><br/><br/><h3>Full Event</h3><br/><br/><div align='center'>%{@message}</div>"
}
}
没有发送电子邮件,在我的 logstash.conf 中,我在第 27 行看到以下内容:
{:timestamp=>"2015-07-07T12:55:50.597000+0100", :message=>"错误:在第 27 行第 8 列(字节 649)之后的 #、输入、过滤器、输出中应有一个(字节 649)}
我也很想知道我原来的 grok 编码是否正确,以及我们是否可以弄清楚如何为系统日志消息设置标签并将其用作电子邮件输出?
谢谢