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命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@Zabbix-Server ~] # cd /app/zabbix/bin/
[root@Zabbix-Server 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

wKioL1iWkCKzE9gZAACgcPNhvGM989.jpg

wKioL1iWkCKgpaYaAACyO52uD_c340.jpg

wKiom1iWkCOgKhmeAACg6TE37ec616.jpg

wKiom1iWkH2DdoVZAABNqNKyfJA830.jpg


客户端使用zabbix_sender发送数据

客户端

1
2
3
4
5
6
7
[root@localhost ~] # cd /usr/local/zabbix/bin/
[root@localhost 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.
[root@localhost 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.
[root@localhost bin] #

-vv可以显示具体信息,这里提示到无法连接到zabbix server的10051端口

服务端:

1
2
3
4
[root@Zabbix-Server 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端口

1
2
3
4
5
6
7
[root@Zabbix-Server etc] # vim zabbix_server.conf
ListenIP=127.0.0.1,192.168.100.176
[root@Zabbix-Server etc] # service zabbix_server restart
[root@Zabbix-Server 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 )

客户端

1
2
3
4
5
[root@localhost 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
[root@localhost bin] #

这里只是发送一个数据进行测试,实际环境中需要写一个脚本或定时任务定期发送数据就可以了。


zabbix web端查

Monitoring-Latest data

wKiom1iWooOA9oeuAACu6WnDOOo005.jpg可以看到已经接收到客户端sender过来的数据了,后面可以根据这些数据进行图形配置并创建触发器完成相关告警操作。


zabbix_sender批量传递key值

通过zabbix_sender可以批量传递key值,可以创建一个文本,每行定义一个key值,可以使用不同的主机名以及key、key值。

客户端

1
2
3
4
5
6
7
8
9
10
11
[root@localhost 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
[root@localhost 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
[root@localhost bin] #

zabbix web端

wKioL1iWq7WTCEhZAACyVof2lC8234.jpg

wKioL1iWq7Ww_4t4AACEBJ2WDjk124.jpg




本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1895003,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
5月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
245 4
|
10月前
|
监控 关系型数据库 机器人
小白带你学习linux的监控平台zabbix
小白带你学习linux的监控平台zabbix
255 0
|
12月前
|
监控 关系型数据库 MySQL
企业实战(8)CentOS 6.8安装Zabbix-agent 5.0监控主机性能与Mysql数据库
企业实战(8)CentOS 6.8安装Zabbix-agent 5.0监控主机性能与Mysql数据库
154 1
|
2月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
1月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
33 2
zabbix agent集成percona监控MySQL的插件实战案例
|
2月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
80 0
|
4月前
|
监控 数据库 Docker
Zabbix监控神通数据库教程
**摘要:** 本文介绍了如何使用Docker安装和配置神舟通用数据库,并利用Zabbix进行监控。首先,通过Docker安装数据库镜像,启动容器并映射端口。接着,使用默认凭证连接数据库并验证安装。然后,将数据库的Python模块和库文件复制到主机,并安装Python3.5及相应模块,创建外部检查脚本以实现Zabbix的监控功能。示例展示了查询数据库版本的监控指标配置。最后,提到了监控结果的界面展示,并邀请读者探索更多Zabbix监控技巧。
60 0
Zabbix监控神通数据库教程
|
3月前
|
监控 关系型数据库 应用服务中间件
Linux zabbix监控 软件的安装
Linux zabbix监控 软件的安装
|
5月前
|
监控 关系型数据库 MySQL
zabbix 监控mysql服务
zabbix 监控mysql服务
77 0
zabbix 监控mysql服务

推荐镜像

更多