El software de monitorización Zabbix es estupendo y ya hablamos de él más veces en este blog. Una de las ventajas más grandes que presenta es que tiene un agente (pequeño código escrito en C) que permite tener "algo" en los equipos para enviar información del estado de los mismos. Quien dice del estado de los mismos, también dice del poder ejecutar comandos remotos, por ejemplos.
Desde la web oficial del proyecto nos ofrecen siempre una versión para sistemas Unix y otra para sistemas Windows y a mayores todo el código fuente. Si nos interesa modificar algo del agente, o simplemente compilar nuestras propias fuentes, hacerlo en sistemas GNU/Linux es muy simple, pero la cosa cambia en entornos Windows.
Hoy vamos a explicar cómo compilar Zabbix para Windows. Para ello partimos de una instalación de Windows 7 sobre la que instalaremos el Windows SDK for Windows 7 (disponible aquí) y también el Visual Studio 2010 Express (disponible para descarga aquí). Cuando tengamos ambos paquetes instalados, simplemente descargamos el código fuente de Zabbix y los extraemos en una carpeta. Para simplificar todo, yo de dejaré en C:\zabbix-2.0.6 (última versión estable a fecha de escribir esta entrada).
- Versión de 32 bitsEsta es la versión para la mayoría de los Windows, así que será por la que empecemos. Antes de nada, debemos de establecer las variables de entorno que necesitamos. Para ello ejecutamos,
msdos> C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat
Una vez tengamos ya el entorno listo, simplemente debemos navegar hasta la carpeta que contiene el proyecto y compilarlo. Para ello, todo desde msdos,msdos> cd "C:\zabbix-2.0.6\build\win32\project" msdos> copy ..\include\config.h ..\..\..\include\ msdos> nmake Makefile_agent msdos> nmake Makefile_get msdos> nmake Makefile_sender
- Versión de 64 bitsSi vamos a la carpeta del proyecto de 64 bits, nos manda a la carpeta de 32, puesto que el código es el mismo. La única diferencia a la hora de compilar este entorno es que debemos de cargar las variables del entorno de 64. Así que,
msdos> C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars64.bat
Una vez tengamos esto, el resto de pasos sin idénticos a la versión de 32, por lo que no los vamos a repetir.
... zbxconf.c rc.exe /d "ZABBIX_AGENT" /d _WINDOWS /d "NDEBUG" /d "_VC80_UPGRADE=0x0600 /l 0x419 /fo"zabbix_agent.res" resource.rc Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385 Copyright (C) Microsoft Corporation. All rights reserved. resource.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'. NMAKE : fatal error U1077: '"C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\rc.exe"' : código devuelto '0x1' Stop.
La solución es editar el fichero zabbix-2.0.6/build/win32/project/resource.rc y en la línea 10 cambiar,
... // #include "afxres.h" ...por
... // #include "windows.h" ...
Ahora volvemos a compilar y ya todo debería de ir perfectamente. Al finalizar la compilación nos dejará los nuevos binarios en la carpeta bin de la raíz.
La entrada Compilar Zabbix-Agent para Windows la puedes leer en Puppet Linux.
No hay comentarios :
Publicar un comentario