Zabbix 自動發現和自動註冊實現批量添加主機

zabbix自動發現和自動註冊


熟練通過Zabbix監控平臺監控單臺客戶端之後,企業中有成千上萬臺服務器,如果手工添加會非常耗時間,造成大量的人力成本的浪費,有沒有什麼好的自動化添加客戶端的方法呢?

Zabbix自動發現就是爲了解決批量監控而設計的功能之一,什麼是自動發現呢,簡單來說就是Zabbix Server端可以基於設定的規則,自動批量的去發現局域網若干服務器,並自動把服務器添加至Zabbix監控平臺,省去人工手動頻繁的添加,節省大量的人力成本。(自動發現規則由服務端主動發起,Zabbix Server開啓發現進程,定時掃描局域網中IP服務器、設備,實現自動剛發現主機、自動將主機添加到主機組、自動加載模板、自動創建項目(item)、自動創建圖像等功能。)

 

自動發現的原理


網絡發現由兩個步驟組成: 發現和動作(action)

zabbix週期性地掃描在網絡發現規則中定義的IP段,根據每一個規則配置自身的檢查頻率,每一個規則都定義了一個對指定IP段的服務檢查集合.

動作是對發現的主機進程相關的設置過程, 常用的動作有添加,或刪除主機,啓用或停用主機,添加主機到某一個組中,發現通知等等.

 

自動發現discover進程


說明:用於設置自動發現主機的線程數量,若單臺代理所管理機器超過500臺,可以考慮加大此數值(僅適用於直接AGENT場景)
# StartDiscoverers=1
### Option: StartHTTPPollers
#   Number of pre-forked instances of HTTP pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:

[root@localhost ~]# systemctl restart zabbix-server   --如果發現沒有探測到主機就要看看有沒有探測進程

[root@localhost ~]# ps -ef | grep discove  --重啓zabbix-server服務之後查看是否存在discover進程,可以看到默認情況下只開啓一個探測進程

zabbixs+  21298  21287  0 20:16 ?        00:00:00 /usr/sbin/zabbix_server: discoverer #1 [processed 1 rules in 0.563187 sec, idle 60 sec]

 

[root@localhost ~]# vim /etc/zabbix_server.conf   --默認情況下發現進程只有一個,如果需要發現的主機可以將參數調大,使用多個進程去發現主機,這樣探測速度快

StartDiscoverers=2

[root@localhost ~]# ps -ef | grep discoverer  

zabbixs+  21442  21431  0 20:21 ?        00:00:00 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000338 sec, idle 43 sec]

zabbixs+  21443  21431  0 20:21 ?        00:00:00 /usr/sbin/zabbix_server: discoverer #2 [processed 0 rules in 0.000497 sec, idle 60 sec]

 

自動發現


Zabbix最大的特點之一就是可以批量自動主機並監控,利用發現(Discovery)模塊,實現自動發現主機、自動將主機添加到主機組、自動加載模板、自動創建項目(Items)、自動創建監控圖像,操作步驟如下:Configuration----->discovery------->Create discovery rule

 

創建發現的規則:

填寫server端所掃描的主機ip地址所在範圍,例如服務器所在的範圍爲192.168.179.99-104

修改適合的時間延遲(延遲太短如果主機太多會導致有的主機掃描不到,這裏爲60S)

Name:    規則名稱;

Discovery by proxy : 通過代理探索;

IP range : zabbix_server 探索區域的IP範圍;

Delay :     搜索一次的時間間隔;

Checks : 檢測方式,如用ping方式去發現主機,zabbix_server需安裝fping,此處使用SSH方式發現;

Device uniqueness criteria: 以IP地址作爲被發現主機的標識。

探測到了會如下顯示:(可以看到有些主機是沒有被探測到的,如101,102,SSH不通)

 

創建發現的動作

Zabbix發現規則創建完畢,客戶端Agent安裝完後,被發現的IP主機不會自動添加至Zabbix監控列表,需要添加發現動作,添加方法如下:Configuration --> Actions --> Event source(選擇Discovery) --> Create action

操作:添加相應的操作,如加模板,加主機等

 

 

 查看結果


configuration-->hosts-->配置你的zabbix客戶端即按照zabbix agent

192.168.179.100上面安裝zabbix agent 

[root@localhost ~]# yum install zabbix40-agent -y  --被監控的主機安裝上agent
[root@localhost ~]# rpm -qc zabbix40-agent 
/etc/zabbix/zabbix_agentd.conf
Server=192.168.179.103  --要將數據給到103
#ServerActive=127.0.0.1
Hostname=192.168.179.100  --主機ip

[root@localhost ~]# systemctl start zabbix-agent
[root@localhost ~]# netstat -tpln | grep 100
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      15386/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    LISTEN      15386/zabbix_agentd 

再來查看可以看到192.168.179.99成功添加進監控項 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章