南天一柱 发表于 2019-1-17 09:19:32

nagios利用飞信和MSN报警艰辛的实践经验

一.MSN的报警  1.下载php类,所有的php程序都在msn的目录下
  2.解压文件放到 /opt/lammp/htdocs/msn 下 apache 访问目录
  3.修改 simple.php
  
  4.创建报警打印信息文件
  Cd /usr/local/nagios/
  Vi msnservice.out
  测试
  Chown nagios.nagios msnservice.out
  5.发送测试信息
  wget -qO- http://localhost/simple.php
  MSN 收到信息
  6.将MSN报警整合到nagios下
  1).创建 MSN 脚本
  cd /usr/local/nagios/libexec
  vi msn.sh
  #!/bin/bash
  wget -qO- http://localhost/msn/simple.php
  2).修改nagios command.cfg 配置文件
  cd /usr/local/nagios/etc/
  vi command.cfg
  ##添加如下
  # 'notify-host-by-msn' command definition
  define command{
  command_name    notify-host-by-msn
  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/nagios/msnservice.out | $USER1$/msn.sh
  }
  # 'notify-service-by-msn' command definition
  define command{
  command_name    notify-service-by-msn
  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\nAdditional Info:\n\n$SERVICEOUTPUT$" > /usr/local/nagios/msnservice.out | $USER1$/msn.sh
  }
  3).修改contacts.cfg ,在 service_notification_commands参数后面添加上notify-service-by-msn,在host_notification_commands参数后添加notify-host-by-msn
  define contact {
  contact_name         sery
  alias                system administrator
  service_notification_period    24x7
  host_notification_period       24x7
  service_notification_options   w,u,c,r
  host_notification_options       d,u,r
  service_notification_commandsnotify-service-by-email,notify-service-by-sms,notify-service-by-msn
  host_notification_commands   notify-host-by-email,notify-host-by-sms, notify-host-by-msn
  email                        jlsfwq@163.com
  }
  7.重新启动nagios即可实现MSN报警

页: [1]
查看完整版本: nagios利用飞信和MSN报警艰辛的实践经验