文章目录
1.Zabbix Proxy分布式
1.1 什么是proxy
zabbix proxy 可以替代zabbix server收集性能和可用性数据,承担一些收集数据的复旦,分担了zabbix server的负荷。
使用proxy是实现集中式和分布式监控的最简单方法,所有agents和proxies发送给一个zabbix server,从而集中收集所有数据。
1.2 proxy应用场景
- 监控远程区域设备(多机房的情况)
- 监控上千设备时,使用(proxy减轻server的负载)
- 监控本地网络不稳定区域(跨网段造成网络抖动)
- 简化分布式监控的维护成本(分布式采集,集中管理并监控)
1.3 proxy注意事项
- zabbix proxy 数据库必须和server 数据库分开,否则zabbix server 数据库会被破坏
- proxy收集到的数据都先存储在本地,然后一定时间后传给zabbix server,这样就不会因为暂时无法连接zabbix server 而丢失数据。
- 本地保留时间由proxy配置文件中的参数
proxyLocalBuffer和ProxyOfflineBuffer决定 - ProxyLocalBuffer: 代理将在本地保留数据N小时,即使数据已与服务器同步,默认不保存
- ProxyOfflineBuffer: 没有与zabbix 服务器连接,代理将保留数据N小时,默认是1小时
- 本地保留时间由proxy配置文件中的参数
- zabbix proxy 只是一个数据收集器,不允许触发器、不处理事件、不发送报警
1.4 proxy分布式场景实践
1.4.1 分布式场景IP规划
服务器功能 | 服务器外网 | 服务器内网 |
---|---|---|
zabbix-server | 192.168.20.46 | |
zabbix-proxy | 192.168.20.49 | 172.16.1.100 |
zabbix-agent | 172.16.1.101 |
1.4.2 proxy服务安装
[root@zabbix-proxy]# yum localinstall https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-proxy-mysql-5.0.26-1.el7.x86_64.rpm --skip-broken
1.4.3 proxy数据库配置
# 安装数据库
[root@zabbix-proxy]# yum install mariadb mariadb-server -y
[root@zabbix-proxy]# systemctl enable mariadb
[root@zabbix-proxy]# systemctl start mariadb
#登录mariadb数据库
MariaDB [(none)]> create database zabbix_proxy default charset utf8;
MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@'localhost' identified by 'zabbix_proxy';
#导入zabbix数据库
[root@zabbix-proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.26/schema.sql.gz | mysql -uzabbix_proxy -pzabbix_proxy zabbix_proxy
1.4.4 修改proxy配置文件
修改proxy配置,将zabbix-proxy的server指向为zabbix-server的地址
[root@zabbix-proxy ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
Server=192.168.20.46
Hostname=Zabbix_Bejing_ proxy
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
ProxyLocalBuffer=1
ProxyOfflineBuffer=12
Timeout=30
1.4.5 启动proxy服务
[root@zabbix-proxy ~]# systemctl enable zabbix-proxy
[root@zabbix-proxy ~]# systemctl start zabbix-proxy
[root@zabbix-proxy ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 15997/zabbix_proxy
#启用路由,按需配置
[root@zabbix-proxy ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
[root@zabbix-proxy ~]# sysctl -p
[root@zabbix-proxy ~]# iptables -t nat -A POSTROUTING -s 172.16.1.0/255.255.255.0 -o ens160 -j MASQUERADE
1.4.6 配置agent客户端
#安装
[root@zabbix-agent001 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent2-5.0.26-1.el7.x86_64.rpm
#配置
[root@zabbix-agent001 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agent2.conf
Server=172.16.1.100 #被动模式
ServerActive=172.16.1.100 #主动模式
Hostname=zabbix-agent001
#启动
[root@zabbix-agent001 ~]# systemctl enable zabbix-agent2
[root@zabbix-agent001 ~]# systemctl start zabbix-agent2
1.4.7 web页面创建proxy
- 管理→ agent代理程序 →创建代理(代理名称必须与proxy配置中Hostname一致)
1.4.8 web页面创建主机
配置主机→创建主机→主机名称(必须是Agent定义的Hostname),关联Template OS Linux by agent active 模版
1、创建主机,然后选择对应的代理
2、选择Template OS Linux by agent active 模版