- A+
所属分类:zabbix
zabbix_sender是什么?有什么作用
zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,那怎么办呢?使用zabbix监控类型zabbix trapper,需要配合zabbix_sender给它传递数据。关于trapper的用法,我们来弄个实例。
执行超长时间脚本,如:脚本去几十台服务器拉去数据,每个日志都上G,然后日志整合在一起,统计出返回值。这种脚本比如超时,所以我们必须改成让客户端提交数据的方式。
zabbix_sender命令详解
语法
1 |
usage: zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i <file> -r} [-c <file>] |
使用参数
1 2 3 4 5 6 7 8 9 10 11 |
-c --config <file> 配置文件绝对路径 -z --zabbix-server <server> zabbix server的IP地址 -p --port <server port> zabbix server端口.默认10051 -s --host <hostname> 主机名,zabbix里面配置的主机名(不是服务器的hostname),不能使用ip地址 -I --source-address <IP address> 源IP -k --key <key> 监控项的key -o --value <key value> key值 -i --input-file <input file> 从文件里面读取hostname、key、value 一行为一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来 -T --with-timestamps 一行一条数据,空格作为分隔符: <hostname> <key> <timestamp> <value>,配合 --input-file option,timestamp为unix时间戳 -r --real-time 将数据实时提交给服务器 -v --verbose 详细模式, -vv 更详细 |
zabbix_sender使用实例
1 2 3 |
# ./zabbix_sender -s 127.0.0.1 -z 127.0.0.1 -k "ttlsa.trapper" -o 1 -r info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.000024" sent: 1; skipped: 0; total: 1 |
ttlsa.trapper:是我们定义好的key
-0 1:1是key值
failed:错误数,说了-s不能用ip地址,那么我们改成配置文件中得主机名吧
1 2 3 |
# ./zabbix_sender -s "Zabbix server" -z 127.0.0.1 -k "ttlsa.trapper" -o 1 -r info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000035" sent: 1; skipped: 0; total: 1 |
zabbix_sender批量传递key值
1 2 3 4 5 6 7 8 9 |
#cat f.txt "Zabbix server" ttlsa.trapper 10 "Zabbix server" ttlsa.trapper 20 "Zabbix server" ttlsa.trapper 30 "Zabbix server" ttlsa.trapper 40 "Zabbix server" ttlsa.trapper 1 # ./zabbix_sender -z 127.0.0.1 -i f.txt info from server: "processed: 5; failed: 0; total: 5; seconds spent: 0.000085" sent: 5; skipped: 0; total: 5 |
每行对应一个key值,一般是不同的主机名、不同的key、不同的key值。这边方便测试,所以都用了同一个key

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
06/01/2017 上午 10:45 沙发
楼主您好,sender 11个字段,action只获取到9个,怎么解决
05/11/2015 下午 3:06 板凳
[委屈]就是不知道怎么自动获取这个 值。求指点
05/11/2015 下午 8:59 1层
@谢谢 看zabbix web监控,站内搜索一下!
21/09/2015 下午 4:51 地板
你好,我想问个问题,我执行zabbix_sender命令之后,server端日志如下:
14181:20150921:163320.551 trapper got ‘{“request”:”sender data”,”data”:[{“host”:”Zabbix server”,”key”:”test”,”value”:”123″}]}’
14181:20150921:163320.551 In recv_agenthistory()
14181:20150921:163320.551 In process_hist_data()
14181:20150921:163320.551 In process_mass_data()
14181:20150921:163320.551 End of process_mass_data()
14181:20150921:163320.551 End of process_hist_data():SUCCEED
14181:20150921:163320.551 In zbx_send_response()
14181:20150921:163320.551 zbx_send_response() ‘{“response”:”success”,”info”:”processed: 0; failed: 1; total: 1; seconds spent: 0.000116″}’
这里只提示失败,但是看不到具体的错误信息。请问哪里可以看到呢?希望大牛赐教,谢谢
21/09/2015 下午 4:51 4楼
你好,我想问个问题,我执行zabbix_sender命令之后,server端日志如下:
14181:20150921:163320.551 trapper got ‘{“request”:”sender data”,”data”:[{“host”:”Zabbix server”,”key”:”test”,”value”:”123″}]}’
14181:20150921:163320.551 In recv_agenthistory()
14181:20150921:163320.551 In process_hist_data()
14181:20150921:163320.551 In process_mass_data()
14181:20150921:163320.551 End of process_mass_data()
14181:20150921:163320.551 End of process_hist_data():SUCCEED
14181:20150921:163320.551 In zbx_send_response()
14181:20150921:163320.551 zbx_send_response() ‘{“response”:”success”,”info”:”processed: 0; failed: 1; total: 1; seconds spent: 0.000116″}’
这里只提示失败,但是看不到具体的错误信息。请问哪里可以看到呢?希望大牛赐教,谢谢
21/09/2015 下午 5:03 1层
@匿名 send使用-vv
30/09/2016 上午 11:32 1层
@匿名 你的问题解决了吗? 我的问题和你这个类似, 但是不是sender,是主动(active)模式无法推送过去, 改成被动就可以正常获取数据.
05/08/2015 下午 5:46 5楼
你好,我试了,是可以的,但我想问个问题,用这个命令,可以传递key和value过去,包括传递其他host的,这意味着我只要知道zabbix server的ip和端口,以及host,就可以传递key和value,这个没有控制权限吗?况且都是明文传输,被劫持的话,就可以伪造很多数据了。请大牛赐教,谢谢。
05/08/2015 下午 8:33 1层
@terry 1. 用iptables设置白名单
2. server只监听内网
还有什么问题,可以进群交流:凉白开
05/07/2016 上午 9:30 2层
@管理员 群号是多少呢??另外如果agent中没有配置hostname ,就是zabbix_sender 文件的话 hostname如何处理呢 不填写可以么
05/07/2016 上午 9:38 3层
@匿名 网站最底部
来自外部的引用: 2