Ubuntu

如何配置nagios實時簡訊提醒

  • October 4, 2013

我已經配置了 nagios 簡訊提醒,發送通知大約需要一分鐘。我想在系統/服務失敗後一/兩秒內收到簡訊通知。我找不到任何方法可以在一秒鐘內發送簡訊警報。有誰能夠幫助我???

格林威治標準時間 8 月 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

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。

引用自:https://serverfault.com/questions/422377