一、server端优化
默认的server端是主动模式,agent端是被动模式
弊端:当agent的数量多时,不断攀升会对server产生压力;数据库会遇到瓶颈
解决:将agent由被动变主动
默认的agent是主被动都支持的并开启3个监听进程;此处将agent变为主动,对应的server端会变被动
操作:
在浏览器web监控页面下:
1.将此时的agent端server2上的模板进行全克隆
2.将克隆好的模板的监控项全选进行批量更新,选为主动式
3.将以前的清理,链接到克隆的模板上(出图即正常)
##测试:查看是否会出图(需等待)
二、Zabbix proxy 分布式监控
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.
此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
zabbix proxy 使用场景:
- 监控远程区域设备
- 监控本地网络不稳定区域
- 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
- 简化分布式监控的维护
详情请见官网:https://www.zabbix.com/documentation/4.0/zh/manual/distributed_monitoring/proxies
搭建步骤:
主机环境:rhel7.3 selinux and firewalld disabled
主机名 | ip | 服务 |
---|---|---|
server1 | 172.25.254.1 | server |
server2 | 172.25.254.2 | agent |
server3 | 172.25.254.3 | proxy |
1.在server端(web界面下)创建proxy,将其添加给agent
2.在proxy上安装服务(注意解析)
[root@proxy ~]# yum install -y zabbix-proxy
[root@proxy ~]# yum install -y mariadb-server
[root@proxy ~]# systemctl start mariadb
[root@proxy ~]# mysql_secure_installation
[root@proxy ~]# mysql -uroot -p
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin; #库名要不同于zabbix
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'redhat';
3.导入数据
[root@proxy zabbix-proxy-mysql-4.0.5]# pwd
/usr/share/doc/zabbix-proxy-mysql-4.0.5
[root@proxy zabbix-proxy-mysql-4.0.5]# ls #此处的schema.aql.gz会小很多
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@proxy zabbix-proxy-mysql-4.0.5]# zcat schema.sql.gz | mysql -p zabbix_proxy
登录数据库,查看导入信息
[root@proxy ~]# mysql -uroot -p zabbix_proxy
MariaDB [zabbix_proxy]> show tables;
4.修改proxy端zabbix-proxy配置文件
[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf
30 Server=172.25.254.1
49 Hostname=proxy
196 DBPassword=redhat
[root@proxy ~]# systemctl start zabbix-proxy
[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf #让识别jmx网关的主机配置
329 JavaGateway=172.25.254.1
337 JavaGatewayPort=10052
345 StartJavaPollers=5
[root@proxy ~]# systemctl restart zabbix-proxy
5.agent端修改配置文件
[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25.254.3 #指向proxy
139 ServerActive=172.25.254.3
[root@server2 ~]# systemctl restart zabbix-agent
三个主机查看日志,看是否正常
测试:
在server端查看日志:看是否发送成功
[root@server1 zabbix]# cat /var/log/zabbix/zabbix_agentd.log
在proxy端查看日志:看是否接收
[root@proxy ~]# cat /var/log/zabbix/zabbix_proxy.log
在agent端查看日志:
[root@server2 ~]# cat /var/log/zabbix/zabbix_agentd.log
在浏览器web监控界面下:刷新网页
注意:如果出现问题,再次重启服务(agent端和proxy端),当查看日志无报错时,代表成功