Zabbix agent主動模式與被動模式的區別
Zabbix agent的運行模式有以下兩種:
1、被動模式:此模式為Zabbix默認的工作模式,由Zabbix server 向Zabbix agent 發出指令獲取數據,Zabbix agent被動地去獲取數據並返回給Zabbix server,Zabbix server會周期性地向agent索取數據。此模式的最大問題就是會增加Zabbix server的工作量,在大量的服務器環境下,Zabbix server不能及時獲取到最新的數據。
2、主動模式:即由Zabbix agent 主動采集數據並返回給Zabbix server,不需要Zabbix server 的另行干預,因此使用主動模式能在一定程序上減輕Zabbix server的壓力。
Zabbix_server端當主機數量過多的時候,會怎么樣
Zabbix_server端當主機數量過多的時候,由Server端去收集數據,Zabbix會出現嚴重的性能問題,主要表現如下:
1、當被監控端到達一個量級的時候,Web操作很卡,容易出現502
2、圖層斷裂
3、開啟的進程(Pollar)太多,即使減少item數量,以后加入一定量的機器也會有問題
所以下面主要往兩個優化方向考慮
1、添加Proxy節點或者Node模式做分布式監控
2、調整Agentd為主動模式
由於第一個方案需要增加物理機器,所以首先嘗試第二方案。
一、被監控端 zabbix_agentd.conf 的配置調整
LogFileSize=0 # Agent產生日志大小控制,日志達到多少M里就輪轉;此參數值默認為0,則不輪轉,日志將不斷變大,數字范圍(0-1024M)視情況是否設置成輪轉
# Server=192.168.5.57 # 如果設置為純主動模式,則應該注釋掉這一條配置
StartAgents=0 # 客戶端agent模式,設置為0表示關閉被動模式,被監控端的 zabbix_agentd 不監聽本地端口,所以無法在 netstat -tunpl 中查看到zabbix_agentd進程
ServerActive=192.168.5.57 # 主動模式的Zabbix服務器IP地址
Hostname=Web01 # 重要:客戶端的hostname,不配置默認使用系統主機名
RefreshActiveChecks=120 # 被監控端到服務器獲取監控項的周期,默認120s即可
BufferSize=100 # 被監控端在內存中保存采集數據的容量大小
Timeout=3 # 超時時間
查看zabbix_agentd.conf 的最終配置
[root@CentOS7 ~]# grep -v ^# /etc/zabbix/zabbix_agentd.conf |grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=192.168.5.57
Hostname=Web01
Include=/etc/zabbix/zabbix_agentd.d/*.conf
注:純主動模式下的Zabbix agent,只能支持Zabbix Agent (Active)類型的監控項。
二、調整監控模板
建議完整克隆一個Template OS Linux 模板來改
1.點擊Template OS Linux 模板名稱
點擊下方的全克隆
修改模板名稱,點擊最下方的添加
進入模板列表找到剛才添加的模板並點擊監控項
全選,點擊批量更新
類型打鈎,選擇Zabbix客戶端(主動式),點擊最下方的更新
配置—>主機—>點擊要設置的主機名稱—>模板
選擇取消原來的鏈接並清理,點擊選擇
添加剛才的模板(Template OS Linux-Active)
點擊更新
在配置—>主機,查看主機可用性,ZBX顯示為紅色
在檢測—>圖形,查看主機已經監控上了
如何查看zabbix客戶端是主動模式還是被動模式
查看監控主機的監控項類型
在類型處可以看到Zabbix客戶端是主動模式還是被動模式
本文參考自:
(1)https://blog.csdn.net/qq_38484607/article/details/99086067
(2)https://blog.csdn.net/weixin_39845407/article/details/80764200