1. zabbix_sender高效模式
1.1 zabbix_sender介绍
zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,获取数据有超时时间,如果一些数据需要执行比较长的时间才能获取的话,那么zabbix会出现异常,考虑到这种情况,zabbix增加了Trapper功能,客户端自己通过zabbix_sender提交数据给zabbix,这个通道便是trapper。
使用zabbix监控类型zabbix trapper,需要配合zabbix_sender给它传递数据。执行超长时间脚本,如:脚本去几十台服务器拉去数据,每个日志都上G,然后日志整合在一起,统计出返回值。这种脚本比如超时,所以我们必须改成让客户端提交数据的方式。
1.2 zabbix_sender安装使用
1.2.1 agent端安装
在server3中:
yum install -y zabbix zabbix-sender
rpm -qa | grep zabbix
1.2.2 使用
配置-> 主机 ->监控项 ->创建监控项:
1.2.3 agent端使用sender发送数据
zabbix_sender -z 172.25.10.1 -p 10051 -s "server3" -k trap -o hello
数据显示:
编写txt文本发送数据:
zabbix_sender -z 172.25.10.1 -p 10051 -i send.txt
数据显示:
全克隆:
全选,批量更新:
2. zabbix proxy的分布式监控
2.1 zabbix proxy的介绍
2.1.1 简介
zabbix proxy是在大规模分布式监控场景中采用一种分担server的压力的分层结构,zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。
2.1.2 应用场景
- 监控远程区域设备
- 监控本地网络不稳定区域
- 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
- 简化分布式监控的维护
2.2 zabbix proxy的使用
2.2.1 实验环境
注意:此实验是在之前实验的基础上完成的,首先需要搭建好zabbix监控平台,至少有一个agent,并且将之前的环境清除(关闭自动发现、告警等)
2.2.2 配置与实验
在server2中:
1:重命名
hostnamectl set-hostname proxy
hostname
2:在三个主机中都添加主机解析
vim /etc/hosts
[root@server1 yum.repos.d]# scp zabbix.repo root@172.25.10.2:/etc/yum.repos.d/
给proxy配置yum源:
3:安装zabbix-proxy和mariadb
[root@server2 ~]# yum install -y zabbix-proxy
[root@server2 ~]# yum install -y mariadb-server
[root@server2 ~]# systemctl start mariadb
4:编辑proxy配置文件
vim /etc/zabbix/zabbix_proxy.conf
5:配置数据库
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> create user 'zabbix'@'localhost' identified by 'westos';
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost';
mysql -uzabbix -pwestos zabbix_proxy
rpm -ql zabbix-proxy-mysql
6:导入数据库
zcat /usr/share/doc/zabbix-proxy-mysql-4.0.24/schema.sql.gz | mysql -uzabbix -pwestos zabbix_proxy
7:在agent端重新指向ip到proxy
[root@server3 ~]# vim /etc/zabbix/zabbix_agentd.conf·
3和4同:%s/172.25.10.1/172.25.10.2/g
[root@server3 ~]# systemctl restart zabbix-agent
[root@server4 ~]# systemctl restart zabbix-agent
查看相应日志是否接受正常:
tail -f /var/log/zabbix/zabbix_proxy.log
在proxy端查看
tail -f /var/log/zabbix/zabbix_server.log
在zabbix-server端查看
8:在web ui 添加proxy
管理-> agent代理程序 ->创建代理:
批量更新: