1. 程式人生 > 實用技巧 >zabbix-主動與被動監控模式

zabbix-主動與被動監控模式

被動模式

無論是主動模式還是被動模式,都是站在zabbix agent角度來說的工作模式,比如被動模式,是說zabbix agent被動的接受zabbix server週期性傳送過來的資料收集指令,在被動模式之下,zabbix server會根據主機關聯的模板中的監控項和資料採集間隔時間,週期性的開啟隨機埠並向zabbix agent伺服器的10050發起tcp連線,然後傳送獲取監控項資料的指令,即zabbix server把監控項傳送給agent,並且會將所需要採集資料的監控項通過一次TCP連線,全部發送過去;即zabbix server傳送什麼指令那麼zabbix agent就收集什麼資料,zabbix server什麼時候傳送zabbix agent就什麼時候採集,zabbix server不傳送zabbix agent就一直不響應,所以zabbix agent也不用關心其監控項和資料採集週期間隔時間。

被動模式的優點就是配置簡單,安裝後即可使用,因此也成為zabbix 的預設工作模式,但是被動模式的最大問題就是會加大zabbix server的工作量,在數百甚至數千臺伺服器的環境下會導致zabbix server需要輪訓向每個zabbix agent傳送資料採集指令,如果zabbix server負載很高還會導致不能及時獲取到最新資料,但由於無需其他複雜配置,被設定為了預設的工作方式。

主動模式

主動模式是由zabbix agent主動向zabbix server的10051埠發起tcp連線請求,因此主動模式下必須在zabbix agent配置檔案中指定zabbix server的IP或者主機名(必須可以被解析為IP地址),在連線到zabbix server之前zabbix agent是不知道自己要採集那些資料以及間隔多久採集一次資料的,然後在連線到zabbix server以後獲取到自己的監控項和資料採集間隔週期時間,然後再根據監控項採集資料並返回給zabbix server,在主動模式下不再需要zabbix serve向zabbix agent發起連線請求,因此主動模式在一定程度上可減輕zabbix server開啟的本地隨機埠和程序數,在一定程度就減輕看zabbix server的壓力。
zabbix agent會開啟一個隨機埠向zabbix server的10051發起請求,獲取監控項,zabbix server會通過agent配置檔案中所定義的hostname去資料庫中檢視關於這個hostname所對應的監控項,查到之後會把監控項通過該agent發起請求時的隨機埠,返還給agent,agent得到監控項後,進行資料採集,把採集到的資料傳送給server,server會把資料存放到資料庫中,然後就可以使用zabbix web通過呼叫server查詢資料庫中的資料,進行web介面展示。

實現主動模式

1、vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.3.200   
#主動模式也需要指定server連線到agent,因為zabbix server上每個主機都會關聯一個Template App Zabbix Agent模板,該模板有一個agent ping監控項,此監控項用於server週期性探測agent是否存活,所以需要允許server連線到agent
StartAgents=5
ServerActive=192.168.3.200  #主動向指定的server獲取監控項
Hostname=192.168.3.204      #server是通過hostname查詢到agent的監控項,所以hostname必須唯一
#agent不需要開啟監聽埠和地址,agent是主動向server發起的請求

2、systemctl restart zabbix-agent
3、選擇一個模板
4、克隆選中的模板
5、給克隆的模板指定一個新的模板名稱
6、點選監控項
7、可以修改一個監控項的模式,也可選中全部監控項
8、選擇批量更新
9、修改模板監控項的模式為主動模式
10、建立一個主機,也可以克隆已有的主機
11、給該主機關聯剛剛修改監控項為主動模式的模板

注意事項

agent是主動模式還是被動模式,看的不是agent本身,而是關聯該agent主機的模板中指定監控項的模式是主動還是被動