roofut Posted September 22, 2011 Posted September 22, 2011 (edited) Решил прикрутить SMS к нагиос. Зарегился в clickatel.com. Смска отправляеться если запускать скрипт в ручную. Но сам нагиос при падении сервиса или хоста не запускает скрипт отправки смс. Дело даже не в самих смс. почта , аська тоже не работает. Вот конфиги. command.cfg # 'notify-host-by-email' command definition define command{ command_name host-notify-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:$ command_line /bin/sh /usr/local/bin/testsms } # 'notify-service-by-email' command definition define command{ command_name notify-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$$ command_line /bin/sh /usr/local/bin/testsms contact.cfg define contact{ contact_name roofut service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r,f,s host_notification_options d,u,r,f,s alias roofut mammadov (Admin) email rufat.mammadov@list.ru service_notification_commands notify-by-email host_notification_commands host-notify-by-email } contactgroup.cfg define contactgroup{ contactgroup_name net-admins alias Network Administrator members roofut } конфиг хоста define host{ use generic-switch host_name File_Server alias File Server address 192.168.0.254 hostgroups H group Servers contact_groups net-admins } конфиг сервиса define service{ use host-service ; Name of service template to use host_name File_Server service_description PING check_command check_ping!100.0,20%!500.0,60% contact_groups net-admins } Где что забыл ? почему нагиос не вызывает команды при падения хоста ? может есть еще какой нибуть конфиг, в которм надо что-то где то включить. Edited September 22, 2011 by roofut Вставить ник Quote
agr Posted September 22, 2011 Posted September 22, 2011 Во первых у вас в конфиге контакта стоит service_notification_commands notify-by-email host_notification_commands host-notify-by-email этими командами и будет оповещаться контакт, а не *_notify_with_sms Во вторых в описании команды у вас используется переменная $CONTACTPAGER$ , но в описании контакта нет параметра pager, есть только email. Вставить ник Quote
roofut Posted September 22, 2011 Author Posted September 22, 2011 Во первых у вас в конфиге контакта стоит service_notification_commands notify-by-email host_notification_commands host-notify-by-email этими командами и будет оповещаться контакт, а не *_notify_with_sms Во вторых в описании команды у вас используется переменная $CONTACTPAGER$ , но в описании контакта нет параметра pager, есть только email. Сорри я послал часть конфига о другом контакте, через который смс должно идти а вот конфиги для меила и нужного юзера # 'notify-host-by-email' command definition define command{ command_name host-notify-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:$ command_line /bin/sh /usr/local/bin/testsms } # 'notify-service-by-email' command definition define command{ command_name notify-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$$ command_line /bin/sh /usr/local/bin/testsms Все равно не работает, нагиос не запускает команды Вставить ник Quote
dmitry_ Posted September 22, 2011 Posted September 22, 2011 через sudo попробуйте стартовать команды Вставить ник Quote
ktoto Posted September 22, 2011 Posted September 22, 2011 Вам не кажется странным вот это: command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:$ command_line /bin/sh /usr/local/bin/testsms Что по Вашему делает вторая строка ? command_line /bin/sh /usr/local/bin/testsms И что делает первая? command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:$ Загляните в конфиг Nagios, для оповещения по емылу видим похожее на вот это: command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ command_line - там одна, я вообще не уверен что Nagios 2е command_line в одном объекте учитывает, скорее всего только ту что первая прописана, он у Вас при перезапуске в логи не ругается? Что делает Ваш скрипт /usr/local/bin/testsms? Научите его получать данные со стандартного ввода, для того чтобы Nagios при вызове мог передавать ему нужные опции, вызов его размещать надо на месте /usr/bin/mail Вставить ник Quote
roofut Posted September 23, 2011 Author Posted September 23, 2011 Вам не кажется странным вот это: command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:$ command_line /bin/sh /usr/local/bin/testsms Что по Вашему делает вторая строка ? command_line /bin/sh /usr/local/bin/testsms И что делает первая? command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:$ Загляните в конфиг Nagios, для оповещения по емылу видим похожее на вот это: command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ command_line - там одна, я вообще не уверен что Nagios 2е command_line в одном объекте учитывает, скорее всего только ту что первая прописана, он у Вас при перезапуске в логи не ругается? Что делает Ваш скрипт /usr/local/bin/testsms? Научите его получать данные со стандартного ввода, для того чтобы Nagios при вызове мог передавать ему нужные опции, вызов его размещать надо на месте /usr/bin/mail command_line /bin/sh /usr/local/bin/testsms - я специально создал эту команду, которая вызывает скрипт , который создает папку . сделал для теста чтобы посмотреть нагиос вообще вызывает команды или нет. в ручную все команды работают. проблема имено в том что нагиос не вызывает команды. сейчас поставлю её первой и проверю Вставить ник Quote
ktoto Posted September 23, 2011 Posted September 23, 2011 Так что в итоге то /usr/local/bin/testsms Ваш скрипт должен сделать если ему никаких параметров не передалось от Nagios? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.