zabbix trapper方式监控
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix trapper方式监控相关的知识,希望对你有一定的参考价值。
zabbix获取数据时有时会出现超时,如果一些数据需要执行比较长的时间才能获取的话,那么zabbix会出现异常,考虑到这种情况,zabbix增加了Trapper功能,客户端自己提交数据给zabbix。
trapper是被监控主机主动发送数据给zabbix server,与主动模式的区别是不需要安装客户端;trapper方式发送数据是以主机名处理,不是IP地址,所以主机名要唯一。在配置监控项时候Type of information项要选择text,否者会报not support错误.
tapper工作模式中,使用zabbix监控类型zabbix trapper(可以称为zabbix捕捉器),在zabbix服务器上必须有一个捕捉项目,然后需要配合zabbix_sender把数据推送给zabbix服务器,该程序由zabbix发行版自带,源码包解压后在bin目录下,配合crontab定期发送数据给zabbix server。
zabbix_sender是一个命令行工具,可以用来发送Zabbix服务器处理性能数据。该工具通常用于长时间运行的用户脚本,用于定期发送可用性和性能数据。
zabbix_sender命令:
[[email protected] ~]# cd /app/zabbix/bin/ [[email protected] bin]# ./zabbix_sender usage: zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i <file> -r} [-c <file>] 参数说明: -c --config <file> 配置文件绝对路径 -z --zabbix-server <server> zabbix server的IP地址 -p --port <server port> zabbix server端口.默认10051 -s --host <hostname> 主机名,zabbix客户端zabbix_agentd.conf配置文件中定义的 Hostname(不是服务器的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 更详细
监控项配置:
Configuration-Hosts-选择(新建)一台主机-items-Create item
客户端使用zabbix_sender发送数据
客户端
[[email protected] ~]# cd /usr/local/zabbix/bin/ [[email protected] bin]# ./zabbix_sender -s 10.15.98.98 -z 192.168.100.176 -k ityunwei2017 -o test Sending failed. Use option -vv for more detailed output. [[email protected] bin]# ./zabbix_sender -s 10.15.98.98 -z 192.168.100.176 -k ityunwei2017 -o test -vv zabbix_sender [1986]: DEBUG: send value error: cannot connect to [[192.168.100.176]:10051]: [111] Connection refused Sending failed. [[email protected] bin]#
-vv可以显示具体信息,这里提示到无法连接到zabbix server的10051端口
服务端:
[[email protected] logs]# netstat -anop|grep -i zabbix tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 6938/zabbix_agentd off (0.00/0/0) tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 15925/zabbix_server off (0.00/0/0) tcp 0 0 :::10050 :::* LISTEN 6938/zabbix_agentd off (0.00/0/0)
未开放外网的10051端口
[[email protected] etc]# vim zabbix_server.conf ListenIP=127.0.0.1,192.168.100.176 [[email protected] etc]# service zabbix_server restart [[email protected] etc]# netstat -anop|grep zabbix tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 6938/zabbix_agentd off (0.00/0/0) tcp 0 0 192.168.100.176:10051 0.0.0.0:* LISTEN 8892/zabbix_server off (0.00/0/0) tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 8892/zabbix_server off (0.00/0/0)
客户端
[[email protected] bin]# ./zabbix_sender -s 10.15.98.98 -z 192.168.100.176 -k ityunwei2017 -o test -vv zabbix_sender [2528]: DEBUG: answer [{"response":"success","info":"processed: 1; failed: 0; total: 1; seconds spent: 0.000188"}] info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000188" sent: 1; skipped: 0; total: 1 [[email protected] bin]#
这里只是发送一个数据进行测试,实际环境中需要写一个脚本或定时任务定期发送数据就可以了。
zabbix web端查看
Monitoring-Latest data
可以看到已经接收到客户端sender过来的数据了,后面可以根据这些数据进行图形配置并创建触发器完成相关告警操作。
zabbix_sender批量传递key值
通过zabbix_sender可以批量传递key值,可以创建一个文本,每行定义一个key值,可以使用不同的主机名以及key、key值。
客户端
[[email protected] bin]# cat a.txt 10.15.98.98 ityunwei2017 100 10.15.98.98 ityunwei2017 200 10.15.98.98 ityunwei2017 300 10.15.98.98 ityunwei2017 400 10.15.98.98 ityunwei2017 500 [[email protected] bin]# ./zabbix_sender -z 192.168.100.176 -i a.txt -vv zabbix_sender [3000]: DEBUG: answer [{"response":"success","info":"processed: 5; failed: 0; total: 5; seconds spent: 0.000247"}] info from server: "processed: 5; failed: 0; total: 5; seconds spent: 0.000247" sent: 5; skipped: 0; total: 5 [[email protected] bin]#
zabbix web端
本文出自 “我本不是菜鸟” 博客,请务必保留此出处http://ityunwei2017.blog.51cto.com/7662323/1895003
以上是关于zabbix trapper方式监控的主要内容,如果未能解决你的问题,请参考以下文章
Zabbix Server Trapper远程代码执行漏洞(CVE-2017-2824)
zabbix lld使用trapper方式(zabbix_sender)