# vim/etc/zabbix/zabbix_agentd。参看
# UnsafeUserParameters=0取消注释并修改为1,在下面增加一行
UserParameter=/usr/地方/sbin/zabbix/净。sh
其中UserParameter用来自定义键值,(类似于net.if.in),自己写的脚本往往会有参数,(*)表示他有自己的参数,所以需要加[*],这是固定写法,如果脚本压根就没有什么参数,那么这个就省了。逗号后面就是我们写的脚本的路径了,再后面就是要用到的参数,有几个就写几。如果没有参数,后面2美元的1美元还有前面的[*]就都可以省略。
不足之处:
脚本需要工作中不断的进行改进。
并没有针对每个网卡设定单独的文件,所有网卡使用同一个日志文件# vim/usr/local/sbin/zabbix/net.sh
# !/bin/bash
乙1美元=
io=$ 2
net_file="/proc/net/dev "
如果[2美元=="在"]
,
n_new=癵rep“乙美元美元net_file | awk的{打印$ 2}'
n_old='尾1/tmp/洗鼻。日志”
n='公元前回声“n_new - n_old美元”|“
d_new='日期+ % s的
d_old='尾2/tmp/洗鼻。日志|头1 '
d='公元前回声“d_new - d_old美元”|“
if_net='公元前回声“n/d美元”|“
echo $ if_net
日期+ % s>在
grep“乙美元美元net_file | awk的{打印$ 2}’,祝辞的在/tmp/洗鼻。日志
elif[2美元==啊?
,
n_new=癵rep“乙美元美元net_file | awk的{打印10美元}'
n_old='尾1/tmp/否决权。日志”
n='公元前回声“n_new - n_old美元”|“
d_new='日期+ % s的
d_old='尾2/tmp/否决权。日志|头1 '
d='公元前回声“d_new - d_old美元”|“
if_net='公元前回声“n/d美元”|“
echo $ if_net
日期+ % s>在
grep“乙美元美元net_file | awk的{打印10美元}’,祝辞的在/tmp/否决权。其他日志
回声0
fi
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<强>详解强>
乙1美元=
io=$ 2
net_file=" "
n_new=癵rep“乙美元美元net_file | awk的{打印$ 2}'
n_old='尾1/tmp/洗鼻。日志”
n='公元前回声“n_new - n_old美元”|“
d_new='日期+ % s的
d_old='尾2/tmp/洗鼻。日志|头1 '
d='公元前回声“d_new - d_old美元”|“
if_net='回声“n/d美元”| bc的
echo $ if_net
日期+ % s>在/tmp/洗鼻。日志
grep“乙美元美元net_file | awk{打印$ 2}的祝辞在/tmp/洗鼻。日志
值与上一次减一下然后除一下,求一个平均值
# chmod + x/usr/local/sbin/zabbix/net.sh
#/usr/local/sbin/zabbix/net.sh eth0在
#/usr/local/sbin/zabbix/net.sh eth0了
此时检测eth2或者其他网卡的流量会报错,因为执行脚本之前,grep过滤出来的是eth0的流量,这里直接使用eth2得出的数字肯定是错误的,所以,如果是想检测eth2的流量,那么在grep和触摸的时候,就应该使用eth2。
#/etc/init.d/zabbix-agent重启
# zabbix_get - s 192.168.32.150 -p10050 - k”my.net.if eth0,”查网看了卡流量,单位字节
395
# zabbix_get - s 192.168.32.150 -p10050 - k”my.net.if eth0,”查在网看卡流量,单位字节308年
下图的关键只能手写,并不能选择。
创建eth0_net_in和eth0_net_out
查看是否添加成功
需求:统计每分钟的在线人数,通过数据库获得在线人数。
思路:
1,客户端增加键
UserParameter=my.online/usr/地方/sbin/zabbix/在线。sh
2,编写脚本
从数据库里面获得每分钟的在线人数
3,测试
服务端进行操作
# zabbix_get - s 192.168.32.150 -p10050 - k”我。在线“
如果返回了参数,那么就代表成功。