1、架构
Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求.
2、代理服务器
(1)安装数据库
[root@zabbix-proxy21 ~]# yum -y install mariadb-servera#安装数据库
[root@zabbix-proxy21 ~]# vim /etc/my.cnf
[mysqld]
.........
innodb_file_per_table = ON
skip_name_resolve = ON
..........
[root@zabbix-proxy21 ~]# systemctl start mariadb启动
(2)安装代理安装包
wget https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/{zabbix-get-3.0.2-1.el7.x86_64.rpm,zabbix-proxy-mysql-3.0.2-1.el7.x86_64.rpm,zabbix-agent-3.0.2-1.el7.x86_64.rpm} #下载安装包
[root@zabbix-proxy21 ~]# yum -y install *.rpm #安装程序包
[root@zabbix-proxy21 ~]# grep "^####" /etc/zabbix/zabbix_proxy.conf #查询配置文件
############ GENERAL PARAMETERS #################
######### PROXY SPECIFIC PARAMETERS #############
############ ADVANCED PARAMETERS ################
####### LOADABLE MODULES #######
####### TLS-RELATED PARAMETERS #######
(3)配置
[root@zabbix-proxy21 ~]# rpm -ql zabbix-proxy-mysql
.....
/usr/share/doc/zabbix-proxy-mysql-3.0.2/schema.sql.gz #数据库生成脚本
......
[root@zabbix-proxy21 ~]# cp /usr/share/doc/zabbix-proxy-mysql-3.0.2/schema.sql.gz /root
[root@zabbix-proxy21 ~]# gzip -d schema.sql.gz #解压缩脚本
[root@zabbix-proxy21 ~]# mysql #连接数据库
MariaDB [(none)]> CREATE DATABASE zabbix_proxy CHARSET 'utf8'; #生成数据库
MariaDB [(none)]> GRANT ALL ON zabbix_proxy.* TO 'zbxproxy'@'192.168.%.%' IDENTIFIED BY 'zbxpass'; #数据库远程授权
MariaDB [(none)]> GRANT ALL ON zabbix_proxy.* TO 'zbxproxy'@'127.0.0.1' IDENTIFIED BY 'zbxpass'; #数据库本地授权
MariaDB [(none)]> FLUSH PRIVILEGES;#刷新
[root@zabbix-proxy21 ~]# mysql -uzbxproxy -h192.168.1.21 -pzbxpass zabbix_proxy < schema.sql #执行导入脚本
[root@zabbix-proxy21 ~]# mysql -uzbxproxy -h192.168.1.21 -pzbxpass #查看生成相关表
MariaDB [zabbix_proxy]> SHOW TABLES;
[root@zabbix-proxy21 ~]# vim /etc/zabbix/zabbix_proxy.conf #编辑配置文件
Server=192.168.1.12监控主机ip地址,不是本机地址
Hostname=zabbix-proxy21主机名
DBHost=192.168.1.21数据库地址(本机ip)
DBName=zabbix_proxy数据库名
DBUser=zbxproxy数据库用户名
DBPassword=zbxpass数据库密码
HeartbeatFrequency=60心跳检测间隔时间
ConfigFrequency=3600配置推送间隔时间
DataSenderFrequency=1发送数据到主监控服务器时间间隔,默认1秒
[root@zabbix-proxy21 ~]# systemctl start zabbix-proxy #启动
[root@zabbix-proxy21 ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:10051 *:*
(4)在server端添加此proxy
Administrator----> proxles
工作模式:
Active:Proxy主动向server发起配置信息同步请求;
Passive: 由server端向Proxy发送配置信息;
(5)添加hosts时,选择使用指定的proxy进行监控;
注意:
(1)在server添加的proxy的名称,要与proxy的配置文件中的Hostname的值保存一致。
(2)通过proxy监控的主机,agent要授权proxy有监控权限;
server=Proxy_Server_IP