Как настроить SMS-оповещение в режиме реального времени nagios
Я настроил SMS-оповещение nagios, и отправка уведомления занимает около одной минуты. Я хочу получать SMS-уведомление в течение одной / двух секунд после сбоя системы / службы. Я не мог найти способ отправить смс оповещения в секунду. Кто-нибудь может мне помочь???
Обновление: среда, 29 августа, 9:26:43 по Гринвичу
define host{
use generic-host ; Name of host template to use
host_name localhost
alias localhost
address x.x.x.187
check_command check-host-alive
normal_check_interval 1
max_check_attempts 1
retry_interval 1
notification_interval 120
notification_period 24x7
notification_options d,r
contact_groups admins
}
новый
I have configured sms with gammu-smsd. gammu-smsd configuration has been given below:
#vi /etc/gammu-smsdrc
# Configuration file for Gammu SMS Daemon
# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyACM0
connection = bluephonet
# Debugging
logformat = textall
# SMSD configuration, see gammu-smsdrc(5)
[smsd]
service = files
#logfile = syslog
logfile = /var/log/gammu-smsd
# Increase for debugging information
debuglevel = 0
# Paths where messages are stored
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
Контактное лицо:
#vi /etc/nagios3/conf.d/contacts_nagios2.cfg
define contact{
contact_name localhost
alias localhost
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-sms
host_notification_commands notify-host-by-sms
pager +88xxxxxxxxxxx
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members localhost
}
#vi /etc/nagios3/conf.d/services_nagios2.cfg
define service{
use generic-service
host_name localhost
service_description SSH
is_volatile 0
check_period 24x7
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 960
notification_period 24x7
check_command check_ssh
}
Команда:
define command{
command_name notify-host-by-sms
command_line /usr/bin/printf "%b" "Alert $HOSTNAME$ is $HOSTSTATE$" | /usr/bin/gammu --sendsms TEXT $CONTACTPAGER$
}
define command{
command_name notify-service-by-sms
command_line /usr/bin/printf "%b" "Alert service $SERVICEDESC$ on $HOSTNAME$" is $SERVICESTATE$ | /usr/bin/gammu --sendsms TEXT $CONTACTPAGER$
}
Журнал:
#vi/var/log/gammu-smsd
Wed 2012/08/29 16:00:30 gammu-smsd[927]: Error at init connection: Function not supported by phone. (NOTSUPPORTED[21])
Wed 2012/08/29 16:00:30 gammu-smsd[927]: Going to 30 seconds sleep because of too much connection errors
Wed 2012/08/29 16:01:00 gammu-smsd[927]: Starting phone communication...
#vi /var/log/nagios3/nagios.log
[Wed Aug 29 15:59:34 2012] SERVICE NOTIFICATION: localhost;localhost;SSH;OK;notify-service-by-sms;SSH OK - OpenSSH_5.9p1 Debian-5ubuntu1 (protocol 2.0)
[Wed Aug 29 16:00:42 2012] SERVICE ALERT: localhost;SSH;CRITICAL;SOFT;1;Connection refused
[Wed Aug 29 16:00:52 2012] SERVICE ALERT: localhost;SSH;CRITICAL;SOFT;2;Connection refused
[Wed Aug 29 16:01:02 2012] SERVICE ALERT: localhost;SSH;CRITICAL;SOFT;3;Connection refused
[Wed Aug 29 16:01:12 2012] SERVICE ALERT: localhost;SSH;CRITICAL;HARD;4;Connection refused
[Wed Aug 29 16:01:12 2012] SERVICE NOTIFICATION: localhost;localhost;SSH;CRITICAL;notify-service-by-email;Connection refused
[Wed Aug 29 16:01:19 2012] SERVICE NOTIFICATION: localhost;localhost;SSH;CRITICA
2 ответа
Перерабатывать nagios.log
отметка времени в удобочитаемом формате:
perl -pe 's/(\d+)/localtime($1)/e' nagios.log
[Wed Aug 29 16:58:30 2012] SERVICE ALERT: localhost;SSH;CRITICAL;HARD;4;Connection refused
[Wed Aug 29 16:58:30 2012] SERVICE NOTIFICATION: localhost;localhost;SSH;CRITICAL;notify-service-by-email;Connection refused
[Wed Aug 29 16:58:38 2012] SERVICE NOTIFICATION: localhost;localhost;SSH;CRITICAL;notify-service-by-sms;Connection refused
Вы можете видеть, что он отправляет уведомление по электронной почте немедленно и занимает всего... 8 секунд, чтобы отправить SMS. Задержка (как указал @John Gardeniers) в вашей системе SMS, а не в Nagios.
С запущенным gammu-smsd вы не можете использовать "gammu --sendsms", вам нужно использовать gammu-smsd-inject. Вам нужно что-то вроде этого
define command{
command_name notify-host-by-sms
command_line /usr/bin/gammu-smsd-inject TEXT $CONTACTPAGER$ -text "Alert $HOSTNAME$ is $HOSTSTATE$"
}
define command{
command_name notify-service-by-sms
command_line /usr/bin/gammu-smsd-inject TEXT $CONTACTPAGER$ -text "Alert service $SERVICEDESC$ on $HOSTNAME$ is $SERVICESTATE$"
}