Está en la página 1de 3

Monitoreando servidores con Zabbix

El monitoreo de servidores y servicios es una de las actividades ms importantes cuando se administran sistemas informticos. Actualmente existen varios softwares de monitoreo opensource disponibles en internet como Nagios, Groundwork, Zenoss y Zabbix. En este artculo abordar la instalacin de Zabbix, que es una herramienta de monitoreo de servidores y redes que permite hacer polling: los datos son solicitados por el servidor de monitoreo, y trapping: los datos son enviados por es servidor monitoreado cuando se genera un evento. Porqu Zabbix? No me pondr a comparar las bodades y defectos de cada software, bsicamente seleccion Zabbix porque las necesidades que tengo de monitorear estan cubiertas completamente, puedo ver estado de servicios, servidores, y equipos de red, graficar y ver un mapa con todos los nodos, y ante cualquier problema alarmar. Zabbix es un desarrollo opensource y lo puedes bajar desde www.zabbix.com, esta desarrollado en C++ y en PHP para su interfaz grfica, requiere de Apache, MySQL (Postgress u Oracle), PHP y libreras PHP de grficos o de SNMP si deseas habilitar esa opcin. Zabbix posee tres componentes: - zabbix_server: es el servidor principal que verifica el estado de todos los agentes. - zabbix_agentd: agente instalado en cada servidor. -interfaz web: permite configurar y ver el estado del sistema. Lo primero que debes hacer es crear un usuario llamado zabbix bajo el cual correran los arhivos necesarios para correr el servicio, ya que eldemonio servidor esta programado para no correr bajo ningun demonio de superusuario.
Shell> adduser zabbix

Depus debes bajar el cdigo fuente desde http://www.zabbix.com/download.php Luego lo descomprimes con
shell> gzip -d zabbix-1.4.tar.gz shell> tar -xvf zabbix-1.4.tar

Con esto se generar un directorio donde se encuentra todo el cdigo fuente. Como esta desarrollado en C++ antes de instalar debes compilar (que terrible!!! compilar siempre suena a problemas), pero como siempre antes de compilar debes configurar las opciones de compilacin con el programa configure. En el ejemplo se configur para habilitar el servidor, el agente, una base de datos mysql, el protocolo snmp con net-snmp

y libcurl para la interfaz web. Para compilar te posicionas en el directorio donde se descomprimi el fuente de Zabbix y ejecutas el configure.
shell> cd zabbix-1.4 shell> ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl

Si la configuracin es exitosa entonces puedes compilar haciendo un make


shell> make install

Esta instruccin instala los binarios en /usr/local/bin Se debe crear la base de datos asumiendo que ya creamos un usuario con los permisos necesarios para utilizar la base de datos zabbix.
shell> mysql -u<username> -p<password> mysql> create database zabbix; mysql> quit;

Donde <username> y <password> es el usuario y password del usuario en mysql. Para crear el esquema de la base de datos se debe ir al directorio create/schema y ejecutar el script mysql segn las siguientes instrucciones:
shell> shell> shell> shell> shell> cd create/schema cat mysql.sql | mysql -u<username> -p<password> zabbix cd ../data cat data.sql | mysql -u<username> -p<password> zabbix cat images_mysql.sql | mysql -u<username> -p<password> zabbix

Antes de ejecutar el servidor y el agente es necesario agregar estas lneas al archivo /etc/services donde se indican los puertos que se utilizarn, y si lo existe configurar el firewall para que permita el acceso a esos puertos.
zabbix_agent 10050/tcp zabbix_trap 10051/tcp

Para configurar el agente se debe editar el archivo /etc/zabbix/zabbix_agentd.conf, lo principal aqui es configurar la ip del servidor zabbix y los puertos por los cuales se comunicar. Para configurar el servidor se debe editar el archivo /etc/zabbix/zabbix_server.conf, existe un archivo en misc/conf/zabbix_server.conf que contiene un ejemplo de configuracin. Con esto estamos listos para ejecutar el servidor, y esto se hace directamente con
/usr/local/bin/zabbix_server

El agente se ejecuta con


/usr/local/bin/zabbix_agentd

Con esto ya esta corriendo el servidor y el agente, falta configurar la interfaz web y agregar el servidor dentro de los servidores a monitorear, pero eso ser para otro artculo.