zabbix配置飞信报警

最近在公司部署了一个zabbix对公司里的所有服务器、路由器进行实时监控,效果超过预期,大大提高了网络管理的工作效率。

不过貌似国内使用zabbix的用户不多,介绍使用fetion来做为报警介质的文章google下来只有一篇而且基本上是瞎掰完全看不明白。

1、环境说明: (Centos Linux环境)

 

# uname -a

Linux Crob 2.6.34-gentoo #1 SMP Mon May 31 15:45:25 CST 2010 x86_64 Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz GenuineIntel GNU/Linux

# emerge -pv zabbix

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] net-analyzer/zabbix-1.8.2   USE="agent curl frontend jabber mysql openipmi proxy server snmp -ipv6 -ldap -oracle -postgres -sqlite3" 0 kB

2、下载飞信机器人

http://www.it-adv.net/

# wget http://www.it-adv.net/fetion/downng/fetion20091117-linux.tar.gz

3、安装测试飞信机器人

安装

# tar -zxvf fetion20091117-linux.tar.gz -C /usr/local/

测试

# /usr/local/fx/fetion --mobile=159009XXXXX --pwd=XXXXX --to=15900959XXXXX --msg-utf8="这是一条测试消息"

检查手机是否收到消息

4、创建sendsms.sh短信发送脚本

#vim /usr/bin/sendsms.sh

文件内容为如下:

#!/bin/sh

#send sms by fetion

#$1, $2, $3 mean Recipient, Subject and Message

/usr/local/fx/fetion --mobile=138176XXXXX --pwd=risghdhdn1 --to=$1 --msg-utf8="$2, $3"

保存后测试脚本:

# chmod +x /usr/bin/sendsms.sh

# /usr/bin/sendsms.sh 138176XXXXX hello world

检查手机是否收到消息

5、新增zabbixMedia Type

登录到zabbix进入Administration" >> Media types"点击右上角Create Media Type"

Description"Fetion"或其它名称Type选择"Script"Scriptsendsms.sh"

点击"Save"保存配置。

# vim /etc/zabbix/zabbix_server.conf

找到AlertScriptsPath参数并修改成 AlertScriptsPath=/usr/bin/

重启zabbix-server服务

6、新增zabbixActions配置

登录到zabbix进入"Configation" >> "Actions"点击右上角"Create Actions"

输入Name"其它都默认

点击右侧 Action Operations" 下的 "New" 按钮 "Operation Type" 选择 "Send message" "Send Message to" 选择一个或多个要发送消息的用户组 Send only to" 选择我们之前新增的 Fetion

点击"Save"保存配置。

7zabbix用户配置

登录到zabbix, 进入"Adimistration" >> "Users"在之前选定要发送消息的组里的Members栏位里选择一个用户例如选择Admin用户。

在用户信息修改界面最下方的Media"处点击"Add"按钮。

Type选择"Fetion"Send to填入收信手机号码其它参数按需修改点击Add添加。

点击"Save"保存配置。

至此配置完成,触发一个警报试下手机是否收到讯息。