簡述: 今天來研究一下 Zabbix 的主動註冊功能。 當你有十臺機器需要監控時,你手動去添加是沒有問題的。但是當你有五十臺、上百台或更多伺服器要監控時,你會怎麼做 ? Active Agent Auto-Registration 主要用於 Agent 主動且自動向 Server 註冊。很好的解決了 ...
簡述:
今天來研究一下 Zabbix 的主動註冊功能。
當你有十臺機器需要監控時,你手動去添加是沒有問題的。但是當你有五十臺、上百台或更多伺服器要監控時,你會怎麼做 ?
Active Agent Auto-Registration 主要用於 Agent 主動且自動向 Server 註冊。很好的解決了 Agent IP、系統、配置不統一等問題。
非常適合現在的雲環境中。
一、安裝 Agent
shell > cd /scripts ; vim auto_install_zabbix_agent.sh #!/bin/bash cd /usr/local/src # download zabbix agent wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz # install zabbix agent tar zxf zabbix-3.0.1.tar.gz cd zabbix-3.0.1 ./configure --prefix=/usr/local/zabbix_agent --enable-agent ; make install # config cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix_agent#' /etc/init.d/zabbix_agentd echo 'Zabbix Agent is Install sucessed .' # End
二、配置 Agent auto-Registration
shell > grep -vP '^#|^$' /usr/local/zabbix_agent/etc/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log # 指定日誌路徑 Server=121.42.11.220 # 被動模式下的 Zabbix Server 地址 # StartAgents=0 # 禁止使用被動模式 ( 禁止後 agent 將不監聽任何地址、埠 ) ServerActive=121.42.11.220 # 主動模式下的 Zabbix Server 地址 Hostname=Auto RServer 54.64 # 機器標識符 ( Web 界面顯示的主機名稱 ) HostMetadata=password 123456 # 主動註冊條件,很靈活,你可以像我一樣做成這種方式,兩個欄位完全匹配才添加主機
三、啟動 Agent
shell > service zabbix_agentd start shell > netstat -lnpt | grep zabbix_agent tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7149/zabbix_agentd
四、Web 前端配置
1、模板
> Configuration --> Templates --> 點擊 Templates OS Linux --> Full clone ( 完全克隆 )
Template name Template OS Linux Active # 起一個唯一的名稱
Add # 完成克隆
> Configuration --> Templates --> 點擊 Templates OS Linux Active --> Items ( 還要將 item 改為主動模式 ) --> 全選,點擊下麵的 Mass update
Type # 勾選,將原來的 Zabbix agent 改為 Zabbix agent(active)
Update # 完成
## 我們發現跟這個模板關聯的還有一個是 Template App Zabbix Agent ,使用同樣的方法修改!
## 修改完之後,還需要打開更改後的 OS Linux 模板,Linked template 將原來的被動 Agent 模板,換成更改後的主動 Agent 模板。
2、Auto Registration
> Configuration --> Actions --> ( Event source ) Auto-Registration --> Create action
Name Auto Registration
Default subject Auto registration:{HOST:HOST}
Default message Host name:{HOST.HOST}
Host IP:{HOST.IP}
Agent port:{HOST.PORT}
Conditions ( 條件 )
New condition Host metadata like password # 條件一
Add
New condition Host metadata like 123456 # 條件二
Add
Type of calculation And A and B # 關係為 And ,兩條件必須同時滿足
Operations ( 操作 )
Action operations New # 開始添加操作
Operation details Operation type Add host # 操作一:添加主機
Add
Operation details Operation type Link to template # 操作二:鏈接模板
Templates Template OS Linux Action
Add
Operation details Operation type Send message # 操作三:發送郵件
Send to User groups DevOPS
Send only to My_Email
Default message √
Add
Add # 全部完成 !
五、測試
# 保存完成,大約一、兩分鐘,就會主機自動註冊完成,並且會收到郵件!
## 遇到的問題 !
1、如果 Agent 將被動模式完全關閉 ( Server 註釋掉,StartAgents 設為 0 ## 前面註釋掉,後面必須設為 0 )
Agent 將不監聽任何地址、埠!
Zabbix Server Web 會顯示無法連接到 Agent。這是因為添加的主機中 Agent interfaces 里寫了 Agent 地址、埠。
2、防火牆情況:Zabbix Server TCP 10051 / Zabbix Agent Server TCP 10050
3、主機狀態:如果能獲取到數據,無報錯,就是顏色不變,重啟一下 Zabbix Server 即可