iszjw 发表于 2015-9-8 10:09:08

为nagios添加告警短信发送功能

  一、调试python脚本,使之能正常运行。
1.上传python脚本到服务器
2.运行脚本,如果提示suds模块不存在则需要使用easyinstall 安装suds
/usr/local/bin/SendSMS.py 13328100000 'TestMessage1' ' '
easy_install suds
3.测试脚本
/usr/local/bin/SendSMS.py 13328100000 'TestMessage2' ' '
二、修改contact配置文件,增加电话号码属性。
cd /etc/nagios/objects/
vim contacts.cfg ,修改如下:

define contact{
  contact_name                  guicj         ; Short name of user
        use                           generic-contact         ; Inherit default values from generic-contact template (defined above)
        alias                           Nagios Admin            ; Full name of user
  email                           18251100000@139.com   ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
        pager                           18251100000;cellphone number
      }
   
三、修改command配置文件,增加自定义命令。
vim commands.cfg ,增加如下内容
# 'notify-host-by-sms' command definition
define command{
            command_name notify-host-by-sms
            command_line /usr/local/bin/SendSMS.py $CONTACTPAGER$ "*Nagios*:Host "$HOSTALIAS$" is $HOSTSTATE$! Date/Time: $DATETIME$" ""
}
  # 'notify-service-by-sms' command definition
define command{
            command_name notify-service-by-sms
            command_line usr/local/bin/SendSMS.py $CONTACTPAGER$"*Nagios*Notification Type: $NOTIFICATIONTYPE $Service: $SERVICEDESC $Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$Date/Time: $LONGDATETIME$Additional Info:$SERVICEOUTPUT$" ""
}

四、修改用户模板,使之默认调用新增命令。
vim templates.cfg
define contact{
        name                            generic-contact         ; The name of this contact template
        service_notification_period   24x7                  ; service notifications can be sent anytime
        host_notification_period      24x7                  ; host notifications can be sent anytime
        service_notification_options    w,u,c,r,f,s             ; send notifications for all service states, flapping events, and scheduled downtime events
        host_notification_options       d,u,r,f,s               ; send notifications for all host states, flapping events, and scheduled downtime events
        service_notification_commands   notify-service-by-email,notify-service-by-sms   ; send service notifications via email
        host_notification_commands      notify-host-by-email,notify-host-by-sms ; send host notifications via email
        register                        0                     ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
      }
五、重启nagios,进行测试。
页: [1]
查看完整版本: 为nagios添加告警短信发送功能