So konfigurieren Sie Nagios-Echtzeit-SMS-Alarme

So konfigurieren Sie Nagios-Echtzeit-SMS-Alarme

Ich habe Nagios-SMS-Alarme konfiguriert und es dauert etwa eine Minute, bis die Benachrichtigung gesendet wird. Ich möchte innerhalb einer/zwei Sekunden nach einem System-/Dienstausfall eine SMS-Benachrichtigung erhalten. Ich konnte keine Möglichkeit finden, innerhalb einer Sekunde einen SMS-Alarm zu senden. Kann mir jemand helfen???

Aktualisieren Mittwoch, 29. August 9:26:43 Uhr GMT

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
    }

Neu

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/

Kontakt:

#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
  }

Befehl:

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$

        }

Protokoll:

 #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

Antwort1

Konvertieren Sie nagios.logden Zeitstempel in ein für Menschen lesbares Format:

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

Sie können sehen, dass es sofort eine E-Mail-Benachrichtigung sendet und nur ... 8 Sekunden dauert, um eine SMS zu senden. Die Verzögerung (wie @John Gardeniers anmerkte) liegt an Ihrem SMS-System, nicht an Nagios.

Antwort2

Wenn gammu-smsd läuft, können Sie nicht „gammu --sendsms“ verwenden. Sie müssen gammu-smsd-inject verwenden. Sie benötigen so etwas

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$"
        }

verwandte Informationen