简介
zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控.
zabbix proxy使用场景:
-
监控远程区域设备
-
-
当zabbix监控上千设备时,使用它来减轻server的压力
-
简化zabbix的维护
zabbix proxy仅仅需要一条tcp连接到zabbix server,所以防火墙上仅仅需要加上一条规则即可.zabbix proxy数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。
zabbix proxy是一个数据收集器,它不计算触发器、不处理事件、不发送报警,如下是proxy的功能.
下载安装指定的rpm包
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
rpm -ivh zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
mysql 库配置
不能跟server公用一个数据库
mysql> create database zabbix_proxy character set utf8; # 创建数据库
mysql> grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix'; # 创建授权用户
mysql> flush privileges; # 刷新授权表,虽然不需要
mysql> use proxydb;
Zabbix-proxy数据库只需要导入一条sql
# zcat schema.sql.gz
$ gzip -d schema.sql.gz
$ /data/app/mysql-3306/bin/mysql -uroot -pyunzhihui123 zabbix_proxy
#在Server执行..
sed -i 's/.*StartTrappers=.*$/StartTrappers=10/' /etc/zabbix/zabbix_server.conf
service zabbix-server restart
Zabbix-proxy配置文件/etc/zabbix/zabbix_proxy.conf
修改配置文件/etc/zabbix/zabbix_proxy.conf
Server=192.168.1.154 #填写Server的IP,Proxy会将收集到的数据发往这个IP。
ServerPort=10051 #proxy默认端口号,要实现转发的话使用这个选项
Hostname=web #在web端网页配置时需要用到,保持一致
DBHost=localhost #数据库,使用本地,也可以使用ip
DBName=zabbix_proxy #数据库名称,创建zabbix-proxy的mysql的数据库名称
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
DBSocket=/data/appData/mysql-3306/mysql.sock #mysqlsock文件,默认是使用socket通信的
ProxyLocalBuffer=0 #当数据发送到Server,还要在本地保留多少小时.不保留
ProxyOfflineBuffer=3 #当数据没有发送到Server,在本地保留多少小时,3小时。
HeartbeatFrequency=60 #心跳检测代理在Server的可用性
ConfigFrequency=3600 #代理多久从Server获取一次配置变化,默认3600秒.
DataSenderFrequency=1 #这个是proxy端向server端发送数据的时间,单位是秒
ExternalScripts=/usr/lib/zabbix/externalscripts
如果你安装好proxy之后,我们便可以在zabbix管理站点上配置proxy了.
ministration(管理) → DM(分布式监控)-->Create proxy(创建代理)
代理名称:bate_proxy # 与zabbix_proxy配置文件中Hostname=bate_proxy保持一致
代理模式:主动式
参数 | 描述 |
---|---|
Proxy name | proxy名称,必须和proxy配置文件中的hostname一致 |
Proxy mode | 选择proxy模式 |
Active | proxy主动连接到zabbix server并且请求配置文件数据 |
Passive | Zabbix server连接到proxy |
Hosts | 哪些主机需要被proxy监控 |
安装agent
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.5-1.el7.x86_64.rpm
配置proxy
egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.17.0.124
ServerActive=172.17.0.124 # 这里的ServerIP是用于Agent(主动)模式的.
ListenIP=0.0.0.0
Hostname=nginx1
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
重启zabbix-agent