Despliegue de #Zabbix Agent en Windows con script

zabbix_logo_150x39Se requiere hacer un despliegue de una cantidad de agentes de Zabbix en plataforma #Windows 64 bits, para ello utilizaremos un servidor web que hospedara los scripts y el agente en cuestión, el primer script lo llamaremos “principal.bat” el segundo, es un script VBS que llama la utilidad de descompresión de Windows, esto con el fin de no instalar ningún software adicional como 7zip, winzip etc.

@echo off
set “SaveAs=zabbix_agente.zip”
powershell “Import-Module BitsTransfer; Start-BitsTransfer ‘%URL%’ ‘%SaveAs%'”
cscript //B C:\j_unzip.vbs zabbix_agente.zip”
set “string=Hostname=”
FOR /F “usebackq” %%i IN (`hostname`) DO SET host=%%i
echo %string%%host% >> C:\Windows\System32\zabbix_agente\conf\zabbix_agentd.conf
cd C:\Windows\System32\zabbix_agente\bin\win64
zabbix_agentd.exe –config “C:\Windows\System32\zabbix_agente\conf\zabbix_agentd.conf” –install
net start “Zabbix agent”
echo TODO LISTO
El segundo script llama a la utilidad de descompresion de Windows:

‘ j_unzip.vbs
‘ UnZip a file script
‘ By Justin Godden 2010
‘ Dim ArgObj, var1, var2
Set ArgObj = WScript.Arguments

If (Wscript.Arguments.Count > 0) Then
var1 = ArgObj(0)
Else
var1 = “”
End if

If var1 = “” then
strFileZIP = “example.zip”
Else
strFileZIP = var1
End if

‘The location of the zip file.
REM Set WshShell = CreateObject(“Wscript.Shell”)
REM CurDir = WshShell.ExpandEnvironmentStrings(“%%cd%%”)
Dim sCurPath
sCurPath = CreateObject(“Scripting.FileSystemObject”).GetAbsolutePathName(“.”)
strZipFile = sCurPath & “\” & strFileZIP
‘The folder the contents should be extracted to.
outFolder = sCurPath & “\”

WScript.Echo ( “Extracting file ” & strFileZIP)

Set objShell = CreateObject( “Shell.Application” )
Set objSource = objShell.NameSpace(strZipFile).Items()
Set objTarget = objShell.NameSpace(outFolder)
intOptions = 256
objTarget.CopyHere objSource, intOptions

WScript.Echo ( “Extracted.” )

‘ This bit is for testing purposes
REM Dim MyVar
REM MyVar = MsgBox ( strZipFile, 65, “MsgBox Example”

Coloca ambos archivos dentro de C:/ y como administrador corre el script principal.bat este script descargara y descomprimirá el agente en la carpeta de System32 de Windows ademas de configurar el parámetro HOSTNAME dentro del archivo de configuración del agente, al finalizar, podrás ver el LOG del agente en la carpeta de C:/ y revisar los servicios de Windows, veras el servicio de Zabbix Agent instalado y corriendo, otra validación es ejecutar desde una consola de MSDOS el comando “netstat -an” y observar el puerto 10050 en modo LISTENING. Restaría crear el host en el Zabbix Server y observar como el agente queda activo. Como nota adicional y con la intención de masificar el despliegue podrías ubicar los scripts dentro de un directorio activo indicando la corrida automática del script principal.bat. Espero les sirva saludos.

Leave a Comment