自定义item中的key参数
1)vi /etc/zabbix/zabbix_agentd.conf去掉注释
 Include=/etc/zabbix/zabbix_agentd/
 UnsafeUserParameters=1

2)vi /etc/zabbix/zabbix_agentd/zabbix_agent.userparams.conf加入自定义的key参数
#检查mount
UserParameter=mount.nfs[*],cat /proc/mounts|grep $1 &>/dev/null;echo $?
#检查用户登入
UserParameter=user.login[*],who|grep $1 &>/dev/null;echo $?
#检查USB使用
UserParameter=usb.device.number,tree /proc/bus/usb/ | wc -l

3)在zabbix的item--key使用自定义的参数,参数中有[*]的,表述可以带变量
根据参数执行命令的返回值0/1可以自定义value mapping

4)完成后查看monitoring---Latest data该item是否有取得返回值,如果有就代表成功

自定义飞信脚本报警
1)在/etc/zabbix/zabbix_server.conf中可以看到默认的报警脚本的路径AlertScriptsPath=/home/zabbix/bin

2) 在/home/zabbix/bin/中添加飞信报警脚本,$1表示参数1,$2表示参数2
vi fetion.sh
#!/bin/bash
/usr/local/fetion/fetion --sid=xxxxxx --pwd=xxxxxx --to="$1" --exit-on-verifycode=1 --msg-type=2 --msg-utf8="$2" >/dev/null 2>&1
调用外部脚本进行告警通知,zabbix会向外部脚本提交三个参数
第一个参数是Recipient,即接受告警人的联系方式,如邮件地址,手机号码等
第二个参数是Subject,即告警信息的标题
第三个参数是Message,即告警信息的内容

3)设置fetion.sh和/usr/local/fetion/fetion执行程序的权限,否则无法成功执行,可以用zabbix用户登入来执行./fetion.sh 139xxxxxx test 来测试是否成功,如果没问题就表示脚本OK
chown zabbix:zabbix /home/zabbix/bin/fetion.sh
chmod 755 /usr/local/fetion/fetion

4)zabbix web中新建一media type:administrator/media types/ create media type
Description  该字段任意填写,如fetion
Type         选择script
Script name  填写外部脚本名称。这里为fetion.sh

5)在zabbix web中配置用户的media类型:administrator/users出现user groups相关信息,选择members对于的成员如admin,进入admin用户的配置界面,在media栏里,点击add,即可配置media信息。
在出现的new media页面中,
Type            选择下拉菜单中刚才建立的media type:即fetion
Send to         接受告警的联系方式如邮箱地址,手机号码等,取决于该外部脚本的功能。
When active     发送告警的时间段设置,默认即可:每时每刻(7*24小时 0-23:59)
Use if severity 告警等级,即什么等级下就发送该报警,根据需要选择
Status          该报警动作的状态,enable 激活状态(发送报警),disable非激活状态(不发送报警)

6)在zabbix web中配置actions: configuration/actions 页面中,点击create action出现ation配置页面
--action节---
Name                  action名称,任取
Event source          选择triggers或者其他,这里以triggers为例
Default subject       默认告警提示消息的标题,默认支持宏变量(macros变量)
Default message       默认告警提示消息的内容,默认支持宏变量(macros变量)
Recovery message      默认恢复时的提示信息
Status                默认enable
---Action conditions节---
在该节中点击new,创建一个新的action condition,在出现的---new condition--节中
选择trigger,=,然后点击select,选择相应group和host中的其中一个trigger,回到--new--action节
点击add。
-----Action operations节---
在该节中点击new,创建一个新的action operation,在出现的--edit operation--节中
Operation type   选择Send message
Send message to  选择Single user(发送单个用户) 或者User group (用户组下的所有成员)
Send only to     选择刚才定义的新的media type:即fetion
Default message  默认,也可以自定义
完了后点击add

等Action conditions节和Action operations节填写完毕后,点击--action节中的--save,保存新建的action

7)激活一个trigger来测试是否可以收到飞信报警
如果不行,或者查看events里面actions是OK,但没有收到飞信告警,尝试重启服务
/etc/init.d/zabbix_server restart
/etc/init.d/zabbix_agentd restart

 

8)在items使用simple check的icmpping 检查方式来查看设备是否存活,需要用到fping 工具
wget http://fping.sourceforge.net/download/fping.tar.gz
tar zxvf fping.tar.gz
cd fping-2.4b2_to
./configure
make && make install
cp /usr/local/sbin/fping /usr/sbin/
chown root:zabbix /usr/sbin/fping
chmod 710 /usr/sbin/fping
chmod ug+s /usr/sbin/fping

9)
items 中的store value 选择Delta(speed per second)表示计算取值每秒的差值,可以用SNMP取值来计算每秒的请求数等

10)
items中的Formula为计算的公式,需要调用其他item中的key值来使用
格式为last("key1")+last("key2")
Use custom multiplier为给取值增加自定义的乘数

11)在item中采用zabbix trapper方式收集数据,key值和设备在zabbix中命名的hostname,需要和zabbix_sender命令中的参数一致才能正常使用
比如key=TMM_cpu_used_traps hostname=bigip 252
zabbix_sender -z 172.16.16.120 -s "bigip 252" -k "TMM_cpu_used_traps" -o "10"

12)如果告警需要发给多个用户,需要设置读写权限

点击administration--Users--zabbix administrators

在Read-write栏里面点击add,再select相应的sever group,save就可以了