Я знаю, что мы можем использовать nagios plugin notify-by-email для отправки электронных писем для любых критических предупреждений. Теперь я хочу, чтобы одно электронное письмо отправлялось в виде отчета о критических предупреждениях за последний день ежедневно. Может ли кто-нибудь помочь мне решить эту проблему.
Теперь я хочу, чтобы одно электронное письмо отправлялось в виде отчета о критических предупреждениях за последний день ежедневно.
Отредактируйте nagios.cfg
изменить метод ротации на ежедневный:
# LOG ROTATION METHOD
# This is the log rotation method that Nagios should use to rotate
# the main log file. Values are as follows..
# n = None - don't rotate the log
# h = Hourly rotation (top of the hour)
# d = Daily rotation (midnight every day)
# w = Weekly rotation (midnight on Saturday evening)
# m = Monthly rotation (midnight last day of month)
log_rotation_method=d
затем проанализируйте nagios.log
для КРИТИЧЕСКИХ предупреждений примерно так:
awk '/SERVICE ALERT: .*;CRITICAL;HARD/ { print $0 }' nagios.log | \
perl -pe 's/(\d+)/localtime($1)/e' | \
mail -s "Nagios daily report $(date +%F)" <your_email>@domain.com
Если хотите, запустите указанную выше команду в конце дня как ежедневное задание cron.
Вы можете заглянуть в http://<nagios-server>/cgi-bin/icinga/summary.cgi
и выберите отчет, который хотите видеть каждый день. После настройки параметров возьмите URL-адрес сгенерированного отчета.
Теперь через cron выполните примерно следующее:
чтобы вызвать cgis в оболочке, вам следует подумать о прочтении этих подсказок (они нацелены на Icinga 1.x, поэтому некоторые параметры cgi могут не работать с Nagios).