zabbix是开源界流行的监控程序,C/S架构,运行多种系统平台安装,个人认为windows平台的 zabbix-agent安装最为烦琐,unix及linux平台通过自动化运维工具可一键远程安装,,而windows目前没有好的方法,所以就参考网上写了一个脚本(包含zabbix-agent 2.4.5客户端),一键安装并配置好防火墙。
二、安装脚本(配置文件)
请先修改脚本中zabbbix_server 为自己的zabbix服务器ip
@Echo off setlocal enabledelayedexpansion :: 需要修改IP(填写自己zabbix服务器IP地址) set zabbix_server=10.168.118.91 :: 替换配置文件中的server ip set conf_file=%~dp0\zabbix_agents_2.4.4.win\conf\zabbix_agentd.win.conf for /f "delims=" %%a in (‘type "%conf_file%"‘) do ( set str=%%a set "str=!str:127.0.0.1=%zabbix_server%!" echo !str!>>"%conf_file%"_tmp.txt ) move "%conf_file%" "%conf_file%"_bak.txt move "%conf_file%"_tmp.txt "%conf_file%" :: 32 bit or 64 bit process detection IF "%PROCESSOR_ARCHITECTURE%%PROCESSOR_ARCHITEW6432%"=="x86" ( set _processor_architecture=32bit goto x86 ) ELSE ( set _processor_architecture=64bit goto x64 ) :x86 xcopy "%~dp0\zabbix_agents_2.4.4.win\bin\win32" c:\zabbix_x86 /e /i /y copy "%conf_file%" c:\zabbix_x86\zabbix_agentd.conf /y sc stop "Zabbix Agent" >nul 2>nul sc delete "Zabbix Agent" >nul 2>nul c:\zabbix_x86\zabbix_agentd.exe -c c:\zabbix_x86\zabbix_agentd.conf -i c:\zabbix_x86\zabbix_agentd.exe -c c:\zabbix_x86\zabbix_agentd.conf -s goto firewall :x64 xcopy "%~dp0\zabbix_agents_2.4.4.win\bin\win64" c:\zabbix_x64 /e /i /y copy "%conf_file%" c:\zabbix_x64\zabbix_agentd.conf /y sc stop "Zabbix Agent" >nul 2>nul sc delete "Zabbix Agent" >nul 2>nul c:\zabbix_x64\zabbix_agentd.exe -c c:\zabbix_x64\zabbix_agentd.conf -i c:\zabbix_x64\zabbix_agentd.exe -c c:\zabbix_x64\zabbix_agentd.conf -s goto firewall :firewall :: Get windows Version numbers For /f "tokens=2 delims=[]" %%G in (‘ver‘) Do (set _version=%%G) For /f "tokens=2,3,4 delims=. " %%G in (‘echo %_version%‘) Do (set _major=%%G& set _minor=%%H& set _build=%%I) Echo Major version: %_major% Minor Version: %_minor%.%_build% :: OS detection IF "%_major%"=="5" ( IF "%_minor%"=="0" Echo OS details: Windows 2000 [%_processor_architecture%] IF "%_minor%"=="1" Echo OS details: Windows XP [%_processor_architecture%] IF "%_minor%"=="2" IF "%_processor_architecture%"=="32bit" Echo OS details: Windows 2003 [%_processor_architecture%] IF "%_minor%"=="2" IF "%_processor_architecture%"=="64bit" Echo OS details: Windows 2003 or XP 64 bit [%_processor_architecture%] :: 开启防火墙10050端口 netsh firewall delete portopening protocol=tcp port=10050 netsh firewall add portopening protocol=tcp port=10050 name=zabbix_10050 mode=enable scope=custom addresses=%zabbix_server% ) ELSE IF "%_major%"=="6" ( IF "%_minor%"=="0" Echo OS details: Windows Vista or Windows 2008 [%_processor_architecture%] IF "%_minor%"=="1" Echo OS details: Windows 7 or Windows 2008 R2 [%_processor_architecture%] IF "%_minor%"=="2" Echo OS details: Windows 8 or Windows Server 2012 [%_processor_architecture%] IF "%_minor%"=="3" Echo OS details: Windows 8.1 or Windows Server 2012 R2 [%_processor_architecture%] IF "%_minor%"=="4" Echo OS details: Windows 10 Technical Preview [%_processor_architecture%] :: 开启防火墙10050端口 netsh advfirewall firewall delete rule name="zabbix_10050" netsh advfirewall firewall add rule name="zabbix_10050" protocol=TCP dir=in localport=10050 action=allow remoteip=%zabbix_server% ) pause rd /s /q "%~dp0\zabbix_agents_2.4.4.win" del %0三、安装包及安装说明
安装包名zabbix_agents_auto_installer.win.zip 见附件
安装包中包含32和64位zabbix-agent和一份配置文件,以及自动安装脚本。
解压出来后找到AutoInstall.bat 脚本工具,双击就可以!会自动把zabbix-agent注册为系统服务并运行,添加10050被动端口。