監控利器zabbix實現自動發現與自動註冊

概述
自動發現:
zabbix Server主動發現所有客戶端,然後將客戶端登記自己的小本本上,缺點zabbix server壓力山大(網段大,客戶端多),時間消耗多。
自動註冊:
zabbix agent主動到zabbix Server上報到登記;缺點agent有可能找不到Server(配置出錯)
兩種模式
被動模式:默認 agent被server抓取數據
主動模式:agent主動將數據發到server端
PS:兩種模式都是在agent上進行配置,zabbix 的使用要在hosts文件中預先做好主機名的解析

自動發現——被動模式
客戶端安裝agent,並配置

rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
sed -i.bak 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#g' /etc/yum.repos.d/zabbix.repo
yum clean all && yum makecache
yum install zabbix-agent -y
vim /etc/zabbix/zabbix_agentd.conf
修改如下內容:
ListenPort=10050
Server=192.168.2.3
#ServerActive=192.168.2.3
#Hostname=192.168.2.15

注:
我通過測試在配置文件中設置Hostname,但是在WEB查看是該主機的主機名,所以由此可以判斷出,自動發現會根據主機名來配置WEB端名稱。
其中 Server 和 ServerActive 都指定 zabbix_server 的 IP 地址,不同的是,前者是被動 後者是主動。也就是說 Server 這個配置是用來允許 192.168.2.3 這個 ip 來我這取數據。而serverActive 的 192.168.2.3 的意思是,客戶端主動提交數據給他。
Hostname=XXX,這個定義的名字必須和 web 頁面裏面 host 的名字一樣。
如果你沒有在zabbix_agentd.conf中特別定義Hostname, 則服務器將使用agent的系統主機名命名主機。Linux中的系統主機名可以通過運行hostname命令獲取。最後成功添加的主機名稱也是該選項設置的值。

啓動

systemctl start zabbix-agent.service 
netstat -anput | grep 10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      35795/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    LISTEN      35795/zabbix_agentd 

WEB界面配置
web界面:配置 >> 自動發現 >> Local network
使用自帶的自動發現規則(進行修改)即可
在這裏插入圖片描述
在ip範圍內輸入ip,注意格式;
延遲在實際的生產環境中要大一些(1h-2h),實驗環境可以小一些60s
在這裏插入圖片描述
創建發現動作
配置 >> 動作 >> Auto discovery. Linux servers.
在這裏插入圖片描述
配置動作
在這裏插入圖片描述
配置條件
在這裏插入圖片描述
PS:觸發的條件可以根據自己的環境來進行修改,類似也可以。
配置操作
在這裏插入圖片描述
最後等待主機上線即可。
在這裏插入圖片描述

自動註冊——主動模式
注意:先停用之前的自動發現

1.修改zabbix agent配置文件

vim /etc/zabbix/zabbix_agentd.conf
修改如下內容:
ListenPort=10050
Server=192.168.2.3
ServerActive=192.168.2.3	#server端IP
Hostname=192.168.2.15
#HostnameItem=system.uname

HostMetadataItem:主機元數據,默讀是system.uname,可以通過zabbix_get命令獲取查看。

當agent程序向服務器發送自動註冊請求時,會發送其主機名。在某些情況下,Zabbix服務器的主機名不足以區分發現的主機。主機元數據可將其他信息從agent發送到服務器。
主機元數據在zabbix_agentd.conf中配置。在配置文件中指定主機元數據有兩種方式:(兩種不能同時用)

HostMetadataItem:
HostMetadataItem=system.uname

system.uname用於獲取包含“Linux”或“Windows”等信息,具體取決於運行agent的主機。
主機元數據示例如下:

Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 
systemctl start zabbix-agent.service 
netstat -anput | grep 10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      43332/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    LISTEN      43332/zabbix_agentd 

WEB界面配置
在這裏插入圖片描述
配置動作
在這裏插入圖片描述
配置條件
在這裏插入圖片描述
在這裏插入圖片描述
PS:條件根據自身定義來進行修改!
配置操作
也就是自動發現的主機符合前面設置條件後需要設置的操作,比如添加到某個羣組,鏈接到某個模板等等。
在這裏插入圖片描述
注意事項
如果我們設置好了,上面的配置後,但是發現沒有主機註冊,我們可以看看是不是我們 zabbix server 或者 zabbix proxy 的監聽的端口在防火牆(或者是安全組)有沒有開放。默認監聽端口是 10051。
如果我們可以看到主機註冊成功了,但是 agent 的狀態一直不是活躍的,那麼我們可以看看我們 zabbix agent 的監聽的端口在防火牆(或者是安全組)沒有開放。默認監聽端口是 10050。
在這裏插入圖片描述

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