分类:
2009-04-26 23:16:02
在Nagios使用飞信机器人发送警报2008-08-22 00:19:49 标签: 平台: 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. 幸好飞信机器人的作者们已经替我们想好了这点,将缺少的库文件也放在了网络上供下载,到飞信机器人的官方网站 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. 飞信的使用方式 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 本文出自 51CTO.COM技术博客 |