在大規模的環境中,如果無法做到自動化監控,那麼手動添加監控不僅僅是一個恐怖的工作,而且也無法保證完整性。可以使用Zabbix被動模式的自動發現,主動的對全網進行掃描,然後自動添加相關的監控服務器和引用監控模板。
1.1Zabbix Server自動發現
1.修改zabbix-agent.conf文件,確認agent運行在被動模式
[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
…
Server=192.168.90.11
…
2.zabbix自動發現是基於事件如圖5-1、圖5-2
圖5-1
圖5-2
1.1.1添加Action
網絡發現中的事件可以觸發Action,從而自動執行指定的操作。如:通知消息、添加主機、加入組、添加模板、執行腳本等
1.創建一個基於自動發現的Action
圖5-3
1.1.2添加條件
A:Discovery rule是添加從自動發現規則中發現的主機。
B:Discovery Status是自動發現的主機是up狀態。
C:Service Type是指發現主機是否來自於zabbix-agent
滿足以上條件就執行Iperations
圖5-4
圖5-5
1.1.3執行操作
滿足條件則執行如下操作:
1.發送消息給Admin用戶(慎重使用,會出現不斷髮送短信)
2.添加到bjstack組
3.添加一個bkstack-template模板
圖5-6
1.1.4查看狀態
1.Host主機已經成功監控
圖5-7
2.查看哪些主機是通過網絡發現在(Monitoring→Discovery)如圖5-8
圖5-8
3.查看郵件
圖5-9
1.2Zabbix Agent自動註冊
自動註冊主要用於Agent主動且自動向Server註冊。與Zabbix自動發現具有相同的功能,但是這個功能特別適合一些特定的環境。(實踐前,請先關閉之前網絡發現規則以及Action)
1.配置Agent爲主動模式,如果沒有配置Hostname會使用HostnameItem這個key來發現Hostname
[root@linux-node2 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
EnableRemoteCommands=1
Server=127.0.0.1
ServerActive=192.168.90.11
Hostname=linux-node2.com
Include=/etc/zabbix/zabbix_agentd.d/
2.修改批量模板爲主動模式
圖5-10
圖5-11
圖5-12
1.2.1配置過程
依次選擇菜單欄Configuration→Actions→Create actions如圖5-13
圖5-13
1.2.2添加Action
在Action選項中輸入Name名稱,如圖5-14
圖5-14
1.2.3添加條件
選擇條件即是Host name like Linux,如果沒有配置agent.conf裏面的Hostname,即默認尋找Host Metadata爲Linux因爲取的是uanem -a 參數,如圖5-15
圖5-15
1.2.4執行操作
滿足條件則執行如下操作:如圖5-16
1.發送消息給Admin用戶
2.添加主機
3.添加到bjstack組
4.添加一個bkstack-template模板(主動模式)
圖5-16
1.2.5查看狀態
符合條件的主機會自動添加到監控項中,如下主機已經唄監控到。如圖5-17
圖5-17
自動註冊完畢,郵件通知相關人員有機器註冊如圖5-18
圖5-18