Zabbix-proxy是一个代理程序。简单讲就是,当zabbix-agent很多的时候,如果agent都直接去想zabbix-server发送数据,这个时候zabbix-server的负载就会很大。通过zabbix-proxy代理这一层,agent先将数据发送给proxy,proxy再讲数据发送给server。这样有效减轻了server端的压力。要注意,zabbix-proxy、agent、与server的版本尽量保持大版本一致,否则可能会出现数据无法接收的情况,尤其是是proxy。
1,先将selinux,firewalld关闭。然后导入zabbix-proxy的源,并安装,将服务设置成开机自启。
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
yum -y install zabbix-proxy
systemctl enable zabbix-proxy
systemctl start zabbix-proxy
2.安装、初始化数据库。Zabbix-proxy也要连接一个数据库,一般安装在本地即可。安数据库,开机自启。
yum install -y mariadb mariadb-server mariadb-devel
systemctl start mariadb
systemctl enable mariadb
数据库配置:
MariaDB [(none)]> create database zabbix_proxy character set utf8;
grant all on zabbix_proxy.* to zabbixproxy01@localhost identified by ‘zabbixproxy01’;
MariaDB [(none)]> flush privileges;
初始化数据库:这里将/usr/share/doc/zabbix-proxy-mysql-3.2.11/ schema.sql文件导入到数据库即可。一般这个文件是个压缩文件,需要先用gunzip解压。
mysql -uroot zabbix_proxy < schema.sql
3.配置zabbix-proxy的配置文件 /etc/zabbix/zabbix_proxy.conf
Server=IP #真正的服务端
ServerPort=10051 #默认端口10051,可以不用修改
Hostname=Zabbixproxy #proxy机器的hostname
DBHost=localhost #数据库地址
DBName=zabbix_proxy #数据库名称,创建zabbix-proxy的mysql的数据库名称
DBUser=zabbixproxy01 #用户
DBPassword=zabbixproxy01 #密码
#DBPort=3306 #数据库端口
#HeartbeatFrequency=60 #心跳线,不太清楚,这里使用默认配置
ConfigFrequency=600 #这个是同步配置文件的时间
DataSenderFrequency=1 #这个是proxy端向server端发送数据的时间,单位是秒,几乎等于实时同步
配置完成后,重启zabbix-proxy。systemctl restart zabbix-proxy。
接着去zabbix server网页端添加proxy。管理->agent代理程序,创建代理。之后填写相关信息,此处的代理程序名称要和zabbix_proxy.conf配置文件中的Hostname配置一致。加密方式这里选择的是非加密。
到这里,zabbix-proxy就装完了。我们可以在zabbix-proxy这台机器装上agent。Zabbix-agent安装可以考虑:zabbix-agent 删除后无法安装