一、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端),當查看日誌無報錯時,代表成功