Решил прикрутить SMS к нагиос. Зарегился в clickatel.com. Смска отправляеться если запускать скрипт в ручную. Но сам нагиос при падении сервиса или хоста не запускает скрипт отправки смс. Дело даже не в самих смс. почта , аська тоже не работает.
Вот конфиги.command.cfg
# 'service_notify_with_sms' command definition
define command {
command_name service_notify_with_sms
command_line /bin/sh /usr/local/bin/testsms - этот скрипт для создания текстого файла. Специально добавил для проверки , при падении хоста или сервиса, нагиос должен запустить данный скрипт этого не происходит.
command_line /usr/bin/php /usr/local/bin/send.php -q $CONTACTPAGER$ "Host $HOSTALIAS$ is $HOSTSTATE$; $OUTPUT$; $DATETIME$"
}# 'host_notify_with_sms' command definition
define command {
command_name host_notify_with_sms
command_line /bin/sh /usr/local/bin/testsms -
command_line /usr/bin/php /usr/local/bin/send.php -q $CONTACTPAGER$ $CONTACTPAGER$ "$NOTIFICATIONTYPE$: $HOSTADDRESS$ $HOS$
}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
}
Где что забыл ? почему нагиос не вызывает команды при падения хоста ? может есть еще какой нибуть конфиг, в которм надо что-то где то включить.
> Где что забыл ? почему нагиос не вызывает команды при падения хоста
> ? может есть еще какой нибуть конфиг, в которм надо что-то
> где то включить.Нагиос запускает скрипты от имени своего пользователя и с другим окружением. Проверяйте содержимое ваших скриптов и абсолютность путей в них.
>> Где что забыл ? почему нагиос не вызывает команды при падения хоста
>> ? может есть еще какой нибуть конфиг, в которм надо что-то
>> где то включить.
> Нагиос запускает скрипты от имени своего пользователя и с другим окружением. Проверяйте
> содержимое ваших скриптов и абсолютность путей в них.юзер нагиос иммет доступ к папке со скриптами пути тоже правильные потому что в ручную команды проходят.
я в начале не правильно указал command.cfg , на самом деле там так
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
все равно нагиос не стартует команды
>[оверквотинг удален]
> # '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
> все равно нагиос не стартует командыВот интересное по альтернативу отправки оповищения
http://danxlog.blogspot.com/2010/07/nagios-use-external-smtp...
http://tylkas.ru/wp/?p=768
http://stproject.info/blog/?page_id=838Как вариант передача программе sendEmail
в 12 по питерскому скину рабочий конфиг
> юзер нагиос иммет доступ к папке со скриптами
хорошо.
>пути тоже правильные потому что в ручную команды проходят.
великолепная логика. Желаю везения в труде, вам оно понадобится.
У меня в ubuntu 10.04
# Command.cfg
# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/b
in/sendEmail -f help@mydomen.ru -t $CONTACTEMAIL$ -o message-charset=koi8-r -u "Nagios $HOSTNAME$ is $HOSTSTATE$" -m "** $NOTIFICATIONTYPE$ .........: $HOSTNAME$ .......... . ......... $HOSTSTATE$ **" -s mail.mydomen.ru
}# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAddi
tional Info:\n\n$SERVICEOUTPUT$" | /usr/local/bin/sendEmail -f help@mydomen.ru -t $CONTACTEMAIL$ -o message-charset=koi8-r -u "Nagios $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -m "** $NOTIFICATIONTYPE$ .........: $HOSTALIAS$/$SERVIC
EDESC$ .......... . ......... $SERVICESTATE$ **" -s mail.mydomen.ru
}
# 'notify-host-by-sms' command definition
define command{
command_name notify-host-by-sms
command_line /usr/local/bin/sendsms $CONTACTPAGER$ '$NOTIFICATIONTYPE$: $HOSTNAME$ is $HOSTSTATE$($HOSTOUTPUT$)'
}# 'notify-service-by-sms' command definition
define command{
command_name notify-service-by-sms
command_line /usr/local/bin/sendsms $CONTACTPAGER$ '$NOTIFICATIONTYPE$: $HOSTNAME$ is $HOSTSTATE$($SERVICEOUTPUT$)'
}
# Contacts.cfg###############################################################################
# MAIL CONTACTS
###############################################################################
define contact{
name mail_contact ; The name of th
service_notification_period 24x7 ; service notifi
host_notification_period 24x7 ; host notificat
service_notification_options w,u,c,r,s ; send notificat
host_notification_options d,u,r,s ; send notificat
service_notification_commands notify-service-by-email ; send service n
host_notification_commands notify-host-by-email ; send host noti
service_notifications_enabled 1
host_notifications_enabled 1
alias Nagios Admin
contact_name Nagios
email help@mydomen.ru ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}################################################################################
# SMS CONTACTS
################################################################################define contact{
name sms_contact_1 ; The name of th
service_notification_period 24x7 ; service notifi
host_notification_period 24x7 ; host notificat
service_notification_options w,u,c,r,s ; send notificat
host_notification_options d,u,r,s ; send notificat
service_notification_commands notify-service-by-sms ; send service n
host_notification_commands notify-host-by-sms ; send host noti
service_notifications_enabled 1
host_notifications_enabled 1
alias Nagios_SMS_1
contact_name SMS1
pager +7nomerTelefona ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members Nagios, SMS1
}define contactgroup{
contactgroup_name admins_mail
alias Nagios Administrators
members Nagios
}##template.cfg
define host{
name generic-host ; The name of this host template
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_period 24x7 ; Send host notifications at any time
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
define host{
name test1 ; The name of this host template
use generic-host ; Inherit default values from the generic-host template
check_period 24x7 ; By default, Windows servers are monitored round the clock
check_interval 1 ; Actively check the server every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 4 ; Check each server 10 times (max)
check_command check-host-alive ; Default command to check if servers are "alive"
notification_period 24x7 ; Send notification out at any time - day or night
notification_interval 1440 ; Resend notifications every 30 minutes
notification_options d,u,r,s ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
# hostgroups windows-servers ; Host groups that Windows servers should be a member of
register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}define service{
name generic-service ; The 'name' of this service template
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
is_volatile 0 ; The service is not volatile
check_period 24x7 ; The service can be checked at any time of the day
max_check_attempts 3 ; Re-check the service up to 3 times in order to determine its final (hard) state
normal_check_interval 2 ; Check the service every 10 minutes under normal conditions
retry_check_interval 2 ; Re-check the service every two minutes until a hard state can be determined
contact_groups admins или admins_mail ; Notifications get sent out to everyone in the 'admins' group
notification_options w,u,c,r,s ; Send notifications about warning, unknown, critical, and recovery events
notification_interval 1440 ; Re-notify about service problems every hour
notification_period 24x7 ; Notifications can be sent out at any time
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
define service{
name test1 ; The name of this service template
use generic-service ; Inherit default values from the generic-service definition
max_check_attempts 4 ; Re-check the service up to 4 times in order to determine its final (hard) state
normal_check_interval 1 ; Check the service every 5 minutes under normal conditions
retry_check_interval 1 ; Re-check the service every minute until a hard state can be determined
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
# host.cfgdefine host{
use test1
host_name testmen
alias testmen
address 10.15.15.1
}# service.cfg
define service{
use test1
host testmen
name 4Ping
service_description Ping
contact_groups admins
check_command check_ping!100.0,30%!500.0,60%
}
С такой конфигурацией все работает приходят извищения на почту (через программу sendEmail есть во всех дистрах) и на мобильный в виде смс ( используется smstools и GPS модем с симкой)