Я потратил день на настройку пользовательских уведомлений в твиттере на nagios. Вроде все на месте и вроде бы срабатывают уведомления, но скрипт не вызывается.
моя конфигурация контактов выглядит так:
define contactgroup{
contactgroup_name twittergroup
alias twittergroup
members user1
}
define contact {
contact_name user1
alias user1
service_notification_period 24x7
host_notification_period 24x7
service_notification_options c,r
host_notification_options d,r
service_notification_commands streamnotify-service-twitter-dm
host_notification_commands streamnotify-host-twitter-dm
}
типичный сервис выглядит так:
define service{
use generic-service
host_name ra-stream-monitoring-host
servicegroups streaming_services
service_description Stream / starrfm-redfm ingest stream
check_command check_http_status!"http://somestream"
contact_groups admins,twittergroup
}
В моем commands.cfg есть следующие записи:
define command {
command_name streamnotify-host-twitter-dm
command_line echo "todo notify host by twitter"
}
define command {
command_name streamnotify-service-twitter-dm
command_line /etc/nagios3/streamnotify_twitter.sh
}
сценарий в /etc/nagios3/streamnotify_twitter.sh выглядит так
!/bin/bash
touch /etc/nagios3/CALLED
файл CALLED никогда не создается, хотя панель уведомлений nagios сообщает, что user1 был уведомлен
У нас также есть настраиваемые уведомления о резерве в группе администратора, и они отлично работают, если я вручную инициирую уведомление, но не новые уведомления Twitter.
Как мне отладить это? Я просмотрел журналы отладки nagios, и команда, похоже, выполнена. Но насколько я могу судить, что-то идет не так, поскольку файл никогда не создается. Это послужило сигналом для многих наполненных яростью тирады о нагио этим вечером, но это тоже не решило проблему (и, вероятно, это все равно моя вина).
Заранее спасибо.
В вашем скрипте отсутствует надлежащий шебанг в начале первой строки. Так должно быть #!/bin/bash
.
Кроме того, почти наверняка у пользователя nagios нет разрешения на запись в / etc / nagios3 (я предполагаю, что это пакет Ubuntu?). Сценариям здесь тоже не место, но это не относится к делу.
Измените путь к файлу теста на что-нибудь в /tmp
если вы хотите протестировать таким образом.