隨着監控主機不斷增多,有的時候需要添加一批機器,特別是剛用zabbix的運維人員需要將公司的所有服務器添加到zabbix,如果使用傳統辦法去單個添加設備、分組、項目、圖像…..結果應該是讓人吐的結果。
鑑於這個問題我們可以好好利用下Zabbix的一個發現(Discovery)模塊,進而來實現自動剛發現主機、自動將主機添加到主機組、自動加載模板、自動創建項目(item)、自動創建圖像,下面我們來看看這個模塊如何使用。
一、Zabbix 創建發現規則創建發現規則Configuration ---- discovery ---- Create discovery rule
配置基本信息 配置Checks 添加完checks之後 點擊最下面的add添加保存即可
上面我們瞭解瞭如何自動發現主機,那麼發現主機之後我們要做什麼呢?
將主機加入主機組、並關聯相應的模板!這樣一整個流程就完善了,那麼如何做呢?我們上面已經發現了主機接下來要對主機做操作
所以需要一個action (動作)來執行一些列的操作,下面我們來看具體操作。
2.1、爲discovery(發現)創建action(動作)Configuration ---- Actions ---- Event source(選擇Discovery) ---- Create action
2.1.2、添加觸發Action的條件 這裏添加了三個條件 分別是 “ip地址範圍”、“服務類型” 和 “Discovery 狀態”
2.2、創建操作 2.2.1、“Add host ”添加主機
“Add to host group” 將主機添加到主機組、選擇要添加到的主機組
“Link to template” 鏈接到模板、選擇相應的模板 這裏我定義了 發現主機就 “添加主機(Add host)”並 “添加到主機組(Add to host groups)”、“鏈接到相應的模板(Link to template)”
點擊“Add” 添加 添加完成之後效果如下 Ok 至此發現主機、添加主機並將主機添加到主機組 鏈接模板 全部完畢看看效果吧Monitoring ---- Discovery ----選擇 自定義的發現規則下面是我定義的一個發現規則的效果 如圖是發現的主機 查看主機以及主機相關的圖像
當主機分佈在不同的城市,比如不同的雲環境中時,使用主動發現就不好處理了,使用自動註冊的方式非常適合在雲環境中的部署。
vim /etc/zabbix/zabbix_agentd.conf
ServerActive=zbx.chinasoft.com
# 主機名(這個會自動加入到zabbix-server斷的主機顯示中)
Hostname=auto_register_agent01
Configuration --> Action --> Auto registion --> Create action
Name: action_for_auto_register
Default subject: Auto registration: {HOST.HOST}
Send message to users: Admin (Zabbix Administrator) via weixin
Add to host groups: Linux servers
Link to templates: Template OS Linux
grep auto_register_agent01 /var/log/zabbix/zabbix_server.log