在Nagios使用飞信机器人发送警报

平台: RHEL5.1
飞信版本: 2008-4-2
1.google下载飞信的这个版本fetion_linux_20080402.tar.gz,之所以使用这个相对较老的版本,个人认为他对nagios的支持较好。新的飞信版本需要使用 -b 的参数,使脚本的方式发送消息内容(这样会使nagios的宏失效),这个我觉得有点难,以后有空再去研究吧。
2. #tar zxvf fetion_linux_20080402.tar.gz会解压出一个sms的文件,放在 /opt目录下(这个目录随便啦)
3. 修改 sms权限 chmod 755 sms
4. #ldd sms出提示少一些库文件
linux-gate.so.1 =>  (0x00237000)
        libACE.so.5.4.7 => not found
        libACE_SSL.so.5.4.7 => not found
        libssl.so.0.9.8 => not found
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0073e000)
        libm.so.6 => /lib/libm.so.6 (0x00ce6000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0042a000)
        libc.so.6 => /lib/libc.so.6 (0x00238000)
        /lib/ld-linux.so.2 (0x00bf7000)
注意这是在 rhel5.1上出现缺少的文件,在RHEL4中,还会提示缺少
./sms: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./sms)
这个与rhel4上的glibc版本低有关(rhel4的glibc版本为2.3.4)
5. 幸好飞信机器人的作者们已经替我们想好了这点,将缺少的库文件也放在了网络上供下载,到飞信机器人的官方网站[url]http://www.it-adv.net/[/url]下载库文件LINUX X86/32(REDHAT ES4X32)
6. 将这些库文件解压后放到 /usr/lib/目录下
7.  #ldd sms ,发现OK了
    linux-gate.so.1 =>  (0x00af1000)
    libACE.so.5.4.7 => /usr/lib/libACE.so.5.4.7 (0x002ec000)
    libACE_SSL.so.5.4.7 => /usr/lib/libACE_SSL.so.5.4.7 (0x00db8000)
    libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00e9e000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00512000)
    libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0x002ad000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x004b0000)
    libc.so.6 => /lib/i686/nosegneg/licobc.so.6 (0x00168000)
    libdl.so.2 => /lib/libdl.so.2 (0x002d6000)
    libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0x00110000)
    librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0x0069b000)
    libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x006a4000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00127000)
    /lib/ld-linux.so.2 (0x0014b000)
8. 飞信的使用方式
   sms -f mobile -p pwd -t mobile1,.. -m message -a message -d
9. 修改commads.cfg文件
添加#host-notify-by-sms
define command {
       command_name      host-notify-by-sms
       command_line      /opt/sms -f 139xxxxxxxx -p xxxxxx -t 139xxxxxxxx -m "Host $HOSTSTATE$ alert for $HOSTNAME$! on '$LONGDATETIME$' " $CONTACTPAGER$
       }

#service notify by sms
define command {
       command_name     service-notify-by-sms
       command_line     /opt/sms -f 139xxxxxxxx -p xxxxxxxx -t 139xxxxxxxx -m "'$HOSTADDRESS$' $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on '$LONGDATETIME$' " $CONTACTPAGER$
       }
这里面的宏可参考上面的notify-by-mail里的宏来设定

10. 修改 contacts.cfg文件

修改为 service_notification_commands   service-notify-by-sms,notify-by-email
    host_notification_commands         host-notify-by-sms,host-notify-by-email
11. 保存退出后, service nagios reload

12. OK

你可能感兴趣的:(sms,nagios,飞信,休闲,飞信机器人)