1.zabbix proxy 是什么
zabbix proxy 是一个zabbix-server代理程序 能实现zabbix-server的数据采集功能
2.zabbix proxy的作用是什么
①.收集agent端的监控项数据 统一的发送给zabbix-server 减少zabbix-server的负载 zabbix-server设定的监控项一个监控项为一个socket 一台主机如果有100个监控项 30台主机就是3000个监控项 一个监控项一个socket zabbix-server需要开启3000个socket来维持连接 对于zabbix-server是一个非常大的开销
②.在多机房的环境并不是每台主机都有公网IP 但是需要监控到这些主机 可以在出网的服务器安装zabbix-proxy来实现对内网主机的监控
③.zabbix-server出现宕机后所有的agent发送的数据无法保存到server端 zabbix proxy可以把数据缓存到本地 当zabbix server主机恢复后把收集的数据发送给zabbix server主机
④.当出现网络抖动的时候也可以把数据存放到zabbix proxy 网络恢复时把数据发送给zabbix server
3.zabbix proxy的内部结构
zabbix proxy主要由zabbix proxy和数据库组成 它的这个数据库不是永久存储 可以设定参数决定它发送数据后数据的保留时间(ProxyLocalBuffer=1 设定发送数据后保存数据的时间为1个小时) 也可决定连接不到zabbix server后保存数据的时间(ProxyOfflineBuffer=12 连接不到zabbix server后保存数据的时间为12个小时)
4.部署zabbix proxy
zabbix站点有详细的介绍
https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&components=proxy&db=mysql&ws=
①.zabbux proxy下载安装
yum install https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-proxy-mysql-5.0.0-1.el7.x86_64.rpm
②.安装数据库并配置
yum install -y mariadb-server
systemctl enable mariadb
systemctl start mariadb
# mysql -uroot -p
password
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
mysql> quit;
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix_proxy
5.配置zabbix proxy
#配置zabbix proxy
cat /etc/zabbix/zabbix_proxy.conf |grep -v '^$'|grep -v '^#
Server=zabbix.rongbiz.net
Hostname=Local.Zabbix.proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
ProxyLocalBuffer=1
ProxyOfflineBuffer=12
#启动服务
systemctl enable zabbix-proxy
systemctl start zabbix-proxy
#查看状态
[root@zabbix-proxy ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:10051 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 [::]:10051 [::]:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
提示:zabbix proxy 默认监听在10051,启动后请确保该端口正常监听
6.修改zabbix-agent
[root@rstx-43 ~]# cat /etc/zabbix/zabbix_agentd.conf |grep -v '^#'|grep -v '^$'
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.250
ServerActive=192.168.1.250
Hostname=local.linux.file-192.168.1.43
HostMetadata=A.local.linux.nginx.php.mysql.disk
Include=/etc/zabbix/zabbix_agentd.d/*.conf
7.配置web 添加zabbix proxy
8.添加主机
9.自动注册添加主机
agent自动注册的时候把 server serveractive 修改成zabbix proxy就可以 显示监控项可用的时间比较长