Необходимо настроить уведомления от nagios. Почтовый клиент msmtp.Почтовый клиент настроен и письма отсылает. При запуске echo -e "test message" | /usr/bin/msmtp --debug -t -i name@site.ru (e-mail вымешленный) письмо формируется. В логах /home/bitrix/msmtp_default.log появляются логи - одним словом все хорошо. При выполнении заказа из интернет-магазина и отправке сообщений из веб форм обратной связи письма формируются и доходят. Одним словом почта настроена и работает. Сайт развернут на виртуальной машине BitrixVM v5.1.8 Nagios настроен, веб интерфейс отображается - то есть состояние служб хоста можно посмотреть через веб интерфейс. Если в веб интерфейсе на любом из сервисов который мониторим создать Notifications (создать сообщение), то данное сообщение формируется, в логах nagios.log записывается, а затем в веб интерфейсе Notifications данное сообщение отображается. То есть оно создалось, но не отправилось и в логах msmtp то же ничего нет. Уведомления настроил как на онлайн курсе по Виртуальная машина Битрикс ВМ (http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=37&LESSON_ID=6932&LESSON_PATH=3908.6488....) При отправке уведомления через веб интерфейс или остановке предположим mysqld как написано на онлай курсе по виртуальной машине Битрикс ВМ, в логах nagios формируется сообщения пример: [1472408524] SERVICE NOTIFICATION: nagiosadmin;-----------------.ru;MySQL: connection to 3306;CRITICAL;notify-service-by-email;connect to address 123.123.123.123 and port 3306: Connection refused Но в логах msmtp никакого письма не формируется и даже нет намека на попытки. Если вставить в командную строку текст из онлайн курса по настройке уведомлений: /usr/bin/printf "%b" "Subject: ** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **\n\n ***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/msmtp --host=hostname --port=number --user=username --passwordeval=eval --from=mailfrom@email.cominfo@yandex.ru то все отлично, письмо формируется и отправляеться и доходит. Такое ощущение что у nagios не происходит обращения к файлу comands.cfg и он не обращается к службе отправки уведомлений, хотя в логах он это пишет. Вопрос: как заставить работать уведомления nagios и именно через клиент msmtp? P.S. Прикладываю contact.cfg define contact{ contact_name nagiosadmin use generic-contact alias Nagios Admin service_notification_period 24x7 ; service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events host_notifications_enabled 1 ; Host notifications are enabled service_notifications_enabled 1 ; Host notifications are enabled email pupkin@gmail.com host_notification_commands notify-host-by-email service_notification_commands notify-service-by-email }
# 'notify-service-by-email-smtp' command definition define command{ command_name notify-service-by-email command_line /home/Test/test } Текст command line здесь поменял на запуск простого скрипта для записи текущей даты в лог файл, для того что бы посмотреть идут ли вообще запросы к данному файлу command.cfg и конкретно к notify-host-by-email
Александр Суворов написал: текущий логин nagios-админа совпадает с contact_name? раньше по умолчанию он был nagiosadmin, сейчас в 5.1.8 логин можно менять в меню машины
Пароль сменил. Логин оставил как есть, то есть nagiosadmin
Только что проверил на машине 5.1.8. При настройке мониторинга, создал логин\пароль nagios, а также ввел данные почтового сервера, через который нужно отправлять уведомления.
Сообщения CRITICAL и WARNING стали приходить на почтовый адрес, указанный при настройке from
В уроке описана ручная настройка для старых версий машин до 5.1.4, в версиях 5.1.4+ никаких настроек вводить в конфиги не нужно, все настраивается чз меню машины.
Александр Суворов написал: Только что проверил на машине 5.1.8. При настройке мониторинга, создал логин\пароль nagios, а также ввел данные почтового сервера, через который нужно отправлять уведомления.
Сообщения CRITICAL и WARNING стали приходить на почтовый адрес, указанный при настройке from
В уроке описана ручная настройка для старых версий машин до 5.1.4, в версиях 5.1.4+ никаких настроек вводить в конфиги не нужно, все настраивается чз меню машины/
При настройке мониторинга из панели формируется файл .msmtprc в папке nagios с учетными данными и хостом. Только что сам попробовал мне не помогло. Если вы только что настраивали, можете выложить (прикрепить) или copy paste содержимое папки nagios? (Желательно сами файлы) Я так понимаю, меня похоже ждет переустановка виртуалки, что где то встало не так. Мне и munin пришлось библиотеки копировать. Здесь в принципе на форуме об этом писали.
что пишет в /var/log/nagios/msmtp.log ? может быть вы неправильно ввели данные smtp-сервера при настройке мониторинга?
Цитата
Игорь Шмелев написал: command_line /home/Test/test
вообще /etc/nagios/objects/commands.cfg не меняется, т.к все настраивается чз ansible если хотите запускать кастомный скрипт для проверки, то попробуйте скрипт прописать сюда: /etc/ansible/roles/monitor/templates/nagios-email_commands.cfg.j2
Александр Суворов написал: что пишет в /var/log/nagios/msmtp.log ? может быть вы неправильно ввели данные smtp-сервера при настройке мониторинга?
Цитата
Игорь Шмелев написал: command_line /home/Test/test
вообще /etc/nagios/objects/commands.cfg не меняется, т.к все настраивается чз ansible если хотите запускать кастомный скрипт для проверки, то попробуйте скрипт прописать сюда: /etc/ansible/roles/monitor/templates/nagios-email_commands.cfg.j2
потом верните назад после тестов
1. /var/log/nagios/msmtp.log - его просто нет 2. Если я ввел неправильные данные smtp-сервера то лог то в любом случае должен быть, поскольку он файл запускает /usr/bin/msmtp 3. Это я уже делал. Мне не помогало. P.S. Если в ставить в командную строку: /usr/bin/msmtp -C /etc/nagios/.msmtprc то почта то уходит и на адрес приходит как положено. Я и вопрос то задовал, что у меня не то что почта не идет, это пол беды можно выловить ошибку через --debug.У меня вообще поползновений нет на отправку, я потому то и накидал 2 строчки скрипта, что бы не заморачиваться с smtp- серверами, логина и т.д. Дя меня сейчас задача, просто заставить этот скрипт запуститься по событию , а уж с настройками почту я потом разберусь.
Из файла /etc/nagios/conf.d/email_commands.cfg скопировал содержимое строки command_line. Вставил в командную строку. Письмо сформировалось и дошло. Значит настройки сервера smtp правильные. /var/log/nagios/msmtp.log - появился и там все хорошо. Письмо отправлено.(И я его получил) Буду дальше копать. Пока не знаю что делать. P.S. Только что остановил MYSQL. В логах nagios - notify-service-bay-email Значить сервис стартует из файла /etc/nagios/object/command.cfg, потому что в файле /etc/nagios/conf.d/email_commands.cfg рописана служба notify-service-bay-email-msmtp
Игорь Шмелев написал: P.S. Только что остановил MYSQL. В логах nagios - notify-service-bay-email Значить сервис стартует из файла /etc/nagios/object/command.cfg, потому что в файле /etc/nagios/conf.d/email_commands.cfg рописана служба notify-service-bay-email-msmtp
у меня идут чз notify-service-by-email-msmtp
Код
[08-30-2016 19:12:54] SERVICE NOTIFICATION: nagiosadmin;server1;MySQL: connection to 3306;CRITICAL;notify-service-by-email-msmtp;connect to address 192.168.1.245 and port 3306: Connection refused
Игорь Шмелев написал: P.S. Только что остановил MYSQL. В логах nagios - notify-service-bay-email Значить сервис стартует из файла /etc/nagios/object/command.cfg, потому что в файле /etc/nagios/conf.d/email_commands.cfg рописана служба notify-service-bay-email-msmtp
у меня идут чз notify-service-by-email-msmtp
Код
[08-30-2016 19:12:54] SERVICE NOTIFICATION : nagiosadmin ; server1 ; MySQL : connection to 3306; CRITICAL ; notify-service-by-email-msmtp ; connect to address 192 .168 .1 .245 and port 3306: Connection refused
Вчера разобрался и добил этот вопрос. Все заработало, кроме логов msmtp. Подразумеваю что связано с правами на запись лог файл. Сегодня до конца добью. Но письма уже ходят. и Это хорошо.
Будьте добры еще подскажите, что бы не искать - чем лучше сделать полный backup? Я имею ввиду не резервное копирование сайта, а полный бекап виртуальной машины со всеми своими настройками и содержимым. Нет ли у Вас опыта в backup на удаленный Google disk или Yandex disk? Заранее спасибо.