主动模式不是只能用模板提供的标准检测器
方式
zabbix-agent两种运行方式即主动模式
和被动模式
.默认被动模式
. 两种模式是相对 客户端 角度来说的.
- 被动模式:等待server来取数据,可以使用自定义key方式自定义检测数据.server端使用zabbix_get来主动获取agent上的数据.
- 主动模式:agent主动推送数据给server,自定义数据使用 zabbix_sender 向服务端推送. server使用采集器来采集此类数据.
注意,被动模式注意 配置文件的:server= 参数配置. 该参数指定agent将允许谁来取数据.如果被设置为127.0.0.1,将只能在本地来获取数据了.
看图 看图
使用内置
使用自定义key方式
zabbix采集器
客户端执行发送命令.
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "temp.cpu" -o 33.32
zabbix_sender 发送 服务端采集器接受,目前采用定时发送.
简单脚本
#!/bin/bash
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "temp.cpu" -o $(sensors -u coretemp-isa-0000 |grep temp1_input:|cut -c 16-55) &>/dev/null
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "fan.cpu" -o $(sensors |grep fan2 |awk '{print $2}') &>/dev/null
定时任务(20s发送一次)
crontab -e
* * * * * sh /root/zabbixS.sh
* * * * * sleep 20 ; sh /root/zabbixS.sh
* * * * * sleep 40 ; sh /root/zabbixS.sh
7月14补充
解释器差别
定时任务脚本,请注意 sh解释器(一些系统中sh只想dash解释器)和bash 解释器的差别.
详细可以参考:https://stackoverflow.com/questions/5725296/difference-between-sh-and-bash/5725402#5725402
案列
使用sh解释器无法正确执行成功的.而bash解释器是没有问题的.
test $(($RANDOM%2)) && zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "ip" -o `curl -s ip.cip.cc` &>/dev/null || zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "ip" -o `curl -s iiip.co` &>/dev/null