zabbix proxy 使用场景:
- 监控远程区域设备
- 监控本地网络不稳定区域
- 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
- 简化分布式监控的维护
环境规划:
zabbix-server:外网IP地址192.168.111.66
zabbix-proxy:外网IP地址192.168.111.11 内网IP地址172.16.1.11
zabbix-agent:内网IP地址172.16.1.12
调整网络,保持网络通:
将proxy服务器(192.168.111.11)添加一块内网网卡,如果没有就配置一个lan区段。
添加内网网卡,识别为ens34;复制一个网卡文件名为“ifcfg-ens34”修改网卡配置文件的名称和设备;
配置内网IP地址,删除网关和DNS;
重启网卡,并查看内网IP地址已经配置完成
zabbix-agent:内网IP地址172.16.1.12,修改为lan区段
配置网卡,将地址修改为内网地址
重启网卡服务,然后查看修改的IP地址,配置完成。
验证环境网络配置完成;在proxy上与server和agent均可到达。
zabbix-proxy主机配置
1)配置zabbix repo
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
2)安装zabbix-proxy
yum install zabbix-proxy-mysql -y
3)配置zabbix-proxy
a:安装并启动mariadb
由于是本地环境,所以就共用zabbix-server(192.168.111.66)的数据库;如果要是实际情况就是当前主机安装数据
create database zabbix_proxy;
grant all on zabbix_proxy.* to zabbix@'192.168.111.11' identified by '123456';
b:创库授权,并导入数据
查找需要导入数据的sql文件
rpm -ql zabbix-proxy-mysql |grep sql
找到schema.sql.gz的压缩文件
注意如果要是没有mysql,需要安装mariadb数据即可;将schema.sql.gz压缩文件导入192.168.111.66的数据库中去
zcat schema.sql.gz |mysql -uzabbix -p123456 -h 192.168.111.66 zabbix_proxy
查看192.168.111.66主机上的数据库zabbix_proxy已经存在数据了,导入数据成功;
c:修改zabbix-proxy配置文件
vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.111.66
Hostname=shproxy
DBHost=192.168.111.66 #注意数据库在哪个主机上,我这里就是配置了192.168.111.66
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=123456
4)启动
zabbix-proxy systemctl start zabbix-proxy
zabbix-server主机web界面配置
配置zabbix-server界面管理-agent代理程序-创建代理配置如下
可以查看到有检测的读秒数
zabbix-agent主机配置
配置agent内网地址172.16.1.12主机,因是内网地址无法直接通过xshell连接,通过proxy去连接agent进行修改配置文件,如下配置
vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.11
ServerActive=172.16.1.11
Hostname=172.16.1.12
重启agent服务
systemctl restart zabbix-agent.service
查看zabbix-server界面上配置-主机查看proxy代理监控内网成功
由于我这里配置自动注册,所以直接配置成功了;
如果未添加自动注册,就直接手动去添加主机即可,创建主机都一致,区别就在于agent代理程序检测选择;