Zabbix agent檢測分爲兩種模式:主動模式和被動模式
被動模式,也是默認的Zabbix監控模式,被動模式是相對於proxy來說的。proxy主動發送數據就是主動模式,proxy等待server的請求再發送數據就是被動模式。主動模式有個好處就是可以有效減輕Zabbix server的壓力,當我們監控數以百計的主機時,由於Zabbix壓力過大,所以server存在不能及時獲取到最新數據的問題,這時將監控模式改爲主動模式可以解決這個問題。
使用zabbix主動模式的好處:可以監控不可達的遠程設備;監控本地網絡不穩定區域;當監控項目數以萬計的時候使用代理可以有效分擔zabbix server的壓力;簡化zabbix分佈式監控的維護。
定義:
被動模式:由server向agent發出指令獲取數據, 即agent被動的去獲取數據並返回給server,server週期性的向agent 索取數據, 這總模式的最大問題就是會加大server的工作量, 在數百臺服務器的環境下server不能及時獲取到最新數據, 但這也是默認的工作方式。
主動模式:由agent主動採集數據並返回給zabbix server,不需要server進行干預, 主動模式在一定程度上可減輕server的壓力。
被動模式的配置:
默認的方式
實驗環境:
172.25.1.1 zabbix-server server
172.25.1.11 zabbix-agent test1
172.25.1.2 zabbix-agent server2
這裏可以用兩臺主機做實驗
zabbix-server的配置同上篇文章,這裏不再贅述
zabbix-agent:
[root@server2 ~]# ls //提前下載好agent包
zabbix-agent-3.4.6-1.el7.x86_64.rpm
[root@server2 ~]# yum install -y zabbix-agent-3.4.6-1.el7.x86_64.rpm
[root@server2 ~]# hostname
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@server2 zabbix]# vim zabbix_agentd.conf //修改配置文件
[root@server2 ~]# systemctl start zabbix-agent
[root@server2 zabbix]# netstat -antlp | grep zabbix
進行主動模式配置:
打開web瀏覽器,打開數據庫、zabbix-server
訪問172.25.1.1/zabbix並進行主機手動添加:
點擊導向欄的“配置”——>"主機"——>由上角“創建主機”
填寫主機部分
填寫模版部分
選擇鏈接指示器,選擇“Template OS Linux”
點擊上面的“添加”——>點擊下面的“添加”
此時可以看到server2已經添加到監控主機上
test1也可以以相同的方式進行添加
主動模式的配置:
目的:進行proxy代理,可以減輕agent端的負載
主動模式的配置:proxy僅需要一條tcp連接到server,所以防火牆上僅僅需要加上一條規則即可,proxy數據庫必須和server分開,否則數據會被破壞。proxy收集到數據之後,首先將數據緩存在本地,然後在一定時間之後傳遞給server,這個時間由proxy配置文件決定。proxy是一個數據收集器,它不計算觸發器、不處理事件、不發送報警。
實驗環境:
172.25.1.1 zabbix-server server
172.25.1.11 zabbix-agent test1
172.25.1.2 zabbix-agent zabbix-proxy server2
[root@server2 ~]# ls
[root@server2 ~]# yum install -y zabbix-proxy-mysql-3.4.6-1.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm
[root@server2 ~]# yum install mysql-server -y
[root@server2 ~]# systemctl start mariadb
[root@server2 ~]# mysql_secure_installation //初始化數據庫,設置root密碼
[root@server2 ~]# mysql -uroot -p
Enter password:
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'proxy';
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d zabbix_proxy.conf
[root@server2 zabbix]# vim zabbix_proxy.conf
[root@server2 ~]# systemctl start zabbix-proxy
[root@server2 ~]# cd /usr/share/doc/
[root@server2 doc]# cd zabbix-proxy-mysql-3.4.6/
[root@server2 zabbix-proxy-mysql-3.4.6]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@server2 zabbix-proxy-mysql-3.4.6]# zcat schema.sql.gz | mysql -u zabbix -p zabbix_proxy
Enter password: //這裏的密碼爲授權時的密碼,筆者這裏設置的是proxy
[root@server2 zabbix-proxy-mysql-3.4.6]# mysql -uroot -p //查看數據是否導入
網頁刪除server2主機
選擇“管理”——>"agent代理程序"——>"創建代理"
選擇”主動式“——>點擊“添加”
agent(test1)端:
[root@test1 ~]# vim /etc/zabbix/zabbix_agentd.conf //由於此時server不再是172.25.1.1,而是172.25.1.2(即proxy),所以要修改配置文件
[root@test1 ~]# /etc/init.d/zabbix-agent restart
回到web界面:
此時,可以看到主機有代理
到此,兩中模式就介紹完啦!!!