Logstash, Kibana и оповещения по электронной почте
Я пытаюсь настроить оповещения по электронной почте, используя logstash. Прямо сейчас он посылает мне электронные письма КАЖДЫЙ раз, когда шаблон "Ошибка" анализируется в моем файле журнала, что может привести к большому количеству ненужных писем. Я хотел бы создать условное правило, чтобы, скажем, "X logfile имеет шаблон Ошибка 3x за 1 минуту, напишите мне". Таким образом, я не перегружен электронными письмами.
Вот мой текущий конфиг:
input {
file {
# sincedb_path => /path/to/whatever/
path => "/opt/test.log"
type => "test_log"
}
}
filter {
dns {
add_field => [ "IPs", "Logs, from %{host}" ]
type => [ "MESSAGES" ]
resolve => [ "host" ]
action => [ "append" ]
}
}
filter {
if [message] == "Error" or [message] == "error" {
throttle {
before_count => 1
after_count => 3
period => 10
key => "%{message}"
add_tag => "throttled"
}
} }
output {
# stdout { codec => rubydebug }
redis { host => "redis_IP" data_type => "list" key => "logstash" }
if "throttled" not in [tags] {
email {
from => "logstash@shipper.com"
to => "sysadmin@something.com"
subject => "Alert from %{path}, from %{host}"
body => "Message is: ]\n'%{message}'. \nLog file:\n %{path}:\n\n%{message}.\n More information can be viewed in Kibana"
}
}
}
1 ответ
Мы просто настраиваем Riemann для обработки предупреждений на основе сообщений журнала.
Riemann может читать поток сообщений журнала из logstash и отправлять оповещения на основе содержимого.
Одним из преимуществ riemann является то, что вы можете объединять все сообщения за определенное время в одно электронное письмо. Таким образом, вы не получите много электронных писем, но все равно получите все свои сообщения.
Гораздо больше примеров можно найти по адресу http://riemann.io/howto.html