Windows下面批量安装Zabbix agent

最近一直在研究Zabbix监控Windows机器,涉及到如何快速安装agent,如何修改和完善windows监控模板等等。想把自己的经验给大家分享一下,希望对大家有所帮助。

Zabbix监控Linux/Windows机器需要在服被监控的务器上面安装专用的agent,Linux下面可以用Shell,Python脚本或者类似于Saltstack自动化运维工具批量安装。Windows下面究竟如何才能实现批量自动化安装,我用bat脚本和windows自带的PsExec工具可实现批量安装。

首先分享一下用bat写的自动化安装Windows机器的agentd安装脚本。

@echo off
color fd
cd \
#IP from Zabbix Server or proxy where data should be send to.
Set zabbix_server_ip=IP
echo Creating zabbix install dir
mkdir c:\zabbix
mkdir c:\zabbix\conf
mkdir c:\zabbix\bin
mkdir c:\zabbix\log
mkdir c:\zabbix\install_file
echo Copying Zabbix install file
xcopy \\共享服务器IP\Share\zabbix_agents_2.2.1.win c:\zabbix\install_file /s
copy /y C:\zabbix\install_file\conf\zabbix_agentd.win.conf C:\zabbix\conf\
echo Modiy zabbix configuration files
echo LogFile=c:\zabbix\log\zabbix_agentd.log >> C:\zabbix\conf\zabbix_agentd.win.conf
echo Server=%zabbix_server_ip% >> C:\zabbix\conf\zabbix_agentd.win.conf
echo Hostname=%COMPUTERNAME% >> C:\zabbix\conf\zabbix_agentd.win.conf
echo StartAgents=10 >> C:\zabbix\conf\zabbix_agentd.win.conf
echo Timeout=30 >> C:\zabbix\conf\zabbix_agentd.win.conf
echo
echo Copy zabbix start-up file
if %processor_architecture% EQU x86 copy /y C:\zabbix\install_file\bin\win32 C:\zabbix\bin\
if %processor_architecture% EQU AMD64 copy /y C:\zabbix\install_file\bin\win64 C:\zabbix\bin\
echo start zabbix servic
C:\zabbix\bin\zabbix_agentd.exe -i -c C:\zabbix\conf\zabbix_agentd.win.conf
echo start zabbix services
net start "Zabbix Agent"
echo set zabbix service auto
sc config "Zabbix Agent" start= auto
echo Zabbix agentd Configuration and Install Successful

如果监控Winows机器有上百台,用上面的脚本安装agent效率是提升了很多,但还是不够理想,下面给大家分享一个小工具(http://technet.microsoft.com/en-us/Sysinternals/bb897553.aspx)。

PsExec工具类似于Telnet,并且 不需要在远程访问服务器上面安装客户端软件即可执行安装程序,批量执行安装脚本,绝对不比Shell脚本逊色。下面看看其用法:
Usage: psexec [\\computer[,computer2[,…] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,…] cmd [arguments]

只需知道以下几个参数即可:
@file PsExec远程安装agent主机列表,如IP地址,主机名。
-u 指定用于登录远程计算机的用户名。
-p 指定用户名的密码。
-c 指定的程序复制到远程系统来执行,即安装脚本。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *