zabbix批量添加被監控windows客戶端


由於公司大部分用的是windows服務器,大概有50多台。如果是一台一台添加的話很是麻煩,如果數量更多的話那工作量可想而知。所以網絡管理員通常都是非常懶的。
環境:公司雖是域環境,但是除了幾台域服務器成員服務器外其它大部分服務器都沒有加入域。
處理思路:
  • 在zabbix server端創建自動注冊
  • 在被監控端使用腳本安裝zabbix agent
在zabbix server端創建自動注冊
打開zabbix web控制台 添加一條如下的自動注冊項。
zabbix_auto_regin
其中主機元數據需要在被監控端的conf配置文件中配置
zabbix_auto_regin-metadata-1
上圖中2個選項只能啟用其中一個,否則服務無法啟動。這里啟用HostMetadataItem=system.uname
system.uname會讀取當前系統的主機名等系統信息,自動識別windows或linux,如果是windows就添加主機元數據似windows.
添加完主機元數據后,再添加相應的操作動作,即識別出windows后要執行的操作,如:加入主機組,鏈接模板等
zabbix_auto_regin-actition
被控端安裝腳本

@echo off
set OsVersion=0
set OsProcessor=0
echo 操作系統版本:
ver|findstr /r /i " [版本 5.1.*]" > NUL && goto WindowsXP
ver|findstr /r /i " [版本 6.1.*]" > NUL && goto Windows7
goto UnknownVersion
:WindowsXP
set OsVersion="WindowsXP"
goto GetProcessor
:Windows7
set OsVersion="Windows7"
goto GetProcessor
:UnknownVersion
set OsVersion="UnknownVersion"
goto GetProcessor
:GetProcessor
if /i "%processor_architecture%" equ "x86" (
set OsProcessor="X86"
) else (
if /i "%processor_architecture%" equ "amd64" (
set OsProcessor="X64"
) else (
set OsProcessor="UnknownProcessor"
)
)
echo "The system arch:" %OsProcessor%
cd c:\
if not exist c:\zabbix (
mkdir zabbix
xcopy \\tsclient\E\zabbix\conf\* c:\zabbix /e /r /c /y
if /i %OsProcessor% equ "x86" (
xcopy \\tsclient\e\zabbix\bin\win32\* c:\zabbix /e /r /y /c
)
if /i %OsProcessor% equ "x64" (
xcopy \\tsclient\E\zabbix\bin\win64\* c:\zabbix /e /r /y /c
)
)else (
echo "zabbix文件夾已存在"
)
dir c:\zabbix

rem 安裝並注冊zabbix服務
C:\zabbix\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.win.conf
C:\zabbix\zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.win.conf
pause

這是一個半自動化的腳本,需要在每台終端上執行,由於我用的是remote desktop manager遠程管理軟件,打開遠程會話后會自動映射本地盤符到目標器,所以在使用xcopy的時候很方便。大家根據自己的環境修改一下。

過一會在主機列表中就會自動添加進來
zabbix_auto_regin-hosts


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM