zabbix server除了可以从客户端主动获取数据,客户端也可以主动将数据推送给服务端,客户端通过zabbix_sender指令来实现向服务端主动推送数据。 在zabbix客户端安装
代码语言:javascript复制配置yum源
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
yum install zabbix-sender.x86_64
可以使用zabbix_sender -help来查看帮助 例如:
代码语言:javascript复制zabbix_sender -z 127.0.0.1 -s "Linux DB3" -k db.connections -o 43
其中
-z 指zabbix server ip
-s 指zabbix server的hostname
-k 指对应的key值
-o 则表示要主动推送的数据
不过zabbix server端要想获取到zabbix agent推送过去的数据,需要将监控项配置为zabbix trapper类型
案例 自定义一个新的key
代码语言:javascript复制UserParameter=trapper_test,
创建监控项
类型要选择zabbix trapper 对应中文是zabbix采集器 在zabbix客户端执行
代码语言:javascript复制zabbix_sender -z 10.1.12.188 -s "Zabbix server" -k trapper_test -o "how are you?"
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000156"
sent: 1; skipped: 0; total: 1
在监控->最新数据查看zabbix trapper test这个监控项就能看到收到了如下数据
也可以批量给服务端传送数据 在/tmp/tets.txt文件中输入如下内容
代码语言:javascript复制"Zabbix server" trapper_test "how are you?"
"Zabbix server" trapper_test "I am fine"
"Zabbix server" trapper_test "thanm you"
"Zabbix server" trapper_test "how are you?"
"Zabbix server" trapper_test "how are you?"
执行如下指令能将文件中的内容批量发送给zabbix server
代码语言:javascript复制zabbix_sender -z 10.1.12.188 -i /tmp/test.txt