Zabbix考慮到絕對多數運維都是苦逼,一個人面對幾十還至上百台伺服器,如果要把這些伺服器一個一個的添加,那麼運維将會死于手抽筋或者腦抽筋。于是Zabbix很貼心的發明了主動添加用戶端的功能,這樣運維就可以悠哉的喝咖啡看電影辦公了。
主動添加用戶端的前提是,要監控的伺服器要安裝zabbix_agent。不然都白扯。
首先先打開zabbix的discovery界面,如圖所示:
<a href="http://s4.51cto.com/wyfs02/M02/85/42/wKioL1eeuBmzCjEHAADOHftBZuo507.png" target="_blank"></a>
可以看到我已經建立了一個規則,而且在這個規則裡,ip是分段的,也是用逗号相隔的。現在我們要新的建立一個規則。于是點選Create Discovery Rule,然後出現如下界面,如圖填寫:
<a href="http://s2.51cto.com/wyfs02/M02/85/42/wKiom1eeuvDQaA7WAABc8v2J7dY670.png-wh_500x0-wm_3-wmp_4-s_3077767835.png" target="_blank"></a>
我們這裡主要添加的機器是一個内網ip:10.168.193.212。注意分段ip之間要用逗号隔開,一定是英文逗号,請注意細節。而且還要注意,一個ip位址不要重複出現,或者被重複的定義,這樣會有隐患,在發現的時候可能會出現問題。
說一下checks,這個東東是針對每一個ip的檢查服務,這個服務可以檢測ftp,http,https,icmp ping等等等等,這裡我選擇了Zabbix agent,這個選擇是要在檢查的時候傳回一個值,而這個值就是system.uname,linux的shell裡直接輸入# uname會傳回“Linux”,這樣就會以“Linux”來确定。
當選擇完Zabbix agent之後,下面的Device uniqueness criteria機會發生變化,這個東西翻譯成人語就是“裝置唯一辨別”,預設是ip,意思是如果掃描到同一個ip就跳過這個裝置。這個預設就很好了,不用改。
然後save,web界面移步到Monitoring下的Discovery,看見我們預設計的10.168.193.212已經被Discovery(發現)了。
<a href="http://s5.51cto.com/wyfs02/M01/85/E3/wKioL1etdm_h7L5oAABOXOLPq9s439.png-wh_500x0-wm_3-wmp_4-s_897439023.png" target="_blank"></a>
但是僅僅發現沒屁用,我們的重點是要把這些機器自動添加到我們的碗裡來,于是需要一個action,于是傳回configuration下的cation,在Event source的時候就會發現有Discovery和auto registration,我們需要的是auto registration。于是我們在create action之後就要傳回在auto registration裡檢視我們的action。
action的添加很簡單,自己編寫一個名字,然後裡面自動生成的函數就推薦不要亂動了。在旁邊的 conditions裡,就把條件具體化一下,比如uptime(發現機器存活時間)大于10分鐘,或者reveiced values等于什麼什麼。這樣條件具體化之後,到下一步進行具體的運作。比如發送郵件通知,以及添加到對應的host以及group裡。完事之後别忘了add和save,生成的action如圖所示:
<a href="http://s2.51cto.com/wyfs02/M01/85/E3/wKioL1etfbbyi30fAAB1F7WXb14468.png" target="_blank"></a>
這樣我們可以先去上個廁所,休息一下,稍等一會之後,傳回configuration裡的host就會看到discovery的機器已經被添加了,名字可能就是ip位址。
但是要注意,server發現agent這個程序很慢很慢,基本四十分鐘左右能發現40多台機器的樣子,再加上add host,估計要1個半小時才能保證全部搞定,是以要有耐心。
參考資料:http://www.ttlsa.com/zabbix/zabbix-configure-network-discover-rule/
本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1832978