Instalando Zabbix en Ubuntu 9.10 Server

Este fue un fin de semana de instalaciones. Primero Retrospectiva, y ahora Zabbix.

Para quienes no lo conocen (me incluyo), zabbix es un sistema para monitoreo de servidores. De esta manera, espero que si algún servicio deja de funcionar, o se nos cae un servidor, o se nos llena un disco rígido o cualquier otro evento el cual sea bueno estar informado, se me informe al instante(nota al margen, me encantaría saber como me enteraré si el servidor de zabbix deja de andar)

Nuevamente, con espíritu aventurero, creé una vm para esta tarea. En esta ocasión utilicé un Ubuntu Server 9.10 Karmic Koala i386. Realizando una instalación como servidor LAMP y SSH

Al momento de escribir este artículo, la versión actual de Zabbix es la 1.8.1, sin embargo en los repositorios de Ubuntu se encuentra la versión 1.6 (elegí ubuntu en lugar de debian porque en la de debian se encontraba la versión 1.4 aún más antigua, pero como terminé compilando desde código la última versión debería haber sido el mismo procedimiento en cualquiera de las dos distribuciones)

Compilación e instalación de Zabbix Server

Como quería la última versión de Zabbix, primero bajé el source de la página oficial de Zabbix y luego instalé las dependencias necesarias tanto para la ejecución como para la instalación.jumping castles sydney

sudo apt-get install php5-gd build-essential libmysqlclient-dev libcurl4-openssl-dev libsnmp-dev

La lista de dependencias la fui construyendo un poco por medio de prueba y error, y otro poco gracias al post de seven two seven, aunque dice que no ha tenido suerte en la instalación (por suerte al parecer yo si). Lamentablemente una dependencia necesaria para soportar notificaciones por medio de Jabber no pude instalarla (realmente si pude instalarla, pero el comando configure no me la reconocía) por lo que esa funcionalidad no estará activada.

Luego seguí las instrucciones de para descargar, descompactar, configurar e instalar zabbix que figuran en el manual online

wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.1/zabbix-1.8.1.tar.gz?use_mirror=ufpr
tar -xzf zabbix-1.8.1.tar.gz
cd zabbix-1.8.1
./configure --enable-server --with-mysql --with-net-snmp --with-libcurl
sudo make install

Por favor, noten que la url de arriba puede cambiar, lo importante es simplemente descargar zabbix desde la pagina de sourceforge y descompactarlo.

Luego de un pequeño período de tiempo, la compilación de zabbix terminó y se instaló tla cual promete el manual en el directorio /usr/local

Lo siguiente fue configurar la base de datos. Si bien no lo dije expresamente el motor de bases de datos que elegí fue MySql, por lo que todas las instrucciones hasta ahora daban por sentado este motor de bases de datos. Para crear y popular la base de datos seguí también las instrucciones del manual de Zabbix, siempre desde el directorio en que se descompactó Zabbix

mysqladmin -u root create zabbix
mysql -u root zabbix < create/schema/mysql.sql
mysql -u root zabbix < create/data/data.sql
mysql -u root zabbix < create/data/images_mysql.sql
&#91;/bash&#93;

Notarán que soy un pequeño animal que no le puso contraseña a mysql y que ni me molesté en crear un usuario de base de datos para Zabbix. Me declaro culpable, pero por favor, no sigan mi ejemplo y si lo desean háganlo como debe hacerse. Yo me justifico diciendo que esta es una instalación de prueba, y que en último caso despues puedo hacerla más segura.

Si ahora ejecutamos el comando <em>/usr/local/sbin/zabbix_server</em> nos aparecerá en pantalla un error referente a la falta de un archivo de configuración. Lo cual tiene perfecto sentido ya que hasta ahora no lo hemos configurado.

Nuevamente el manual es muy certero en este punto. Para instalaciones pequeñas, como la mia, el archivo de configuración que viene por defecto es suficiente y solo basta con copiarlo en la carpeta /etc/zabbix para que funcione.


sudo mkdir /etc/zabbix
sudo cp misc/conf/zabbix_server.conf /etc/zabbix/

Casualmente (no tanto porque en cierta forma lo hice a proposito realmente) este archivo de configuración viene preparado para utilizar un motor de base de datos de mysql, con usuario root, contraseña vacia y catalogo zabbix, por lo que no debí modificarlo para nada. Si alguien utilizó otro nombre de base de datos, o usa algun usuario o clave deberá editar el archivo.

En este punto ya deberíamos se capaces de ejecutar el servicio de zabbix sin errores.

/usr/local/sbin/zabbix_server

Instalación de interfaz Web

Uno esperaría que luego de ejecutar el servidor algo sucediera, una pantalla para administrarlo o algo, pero la realidad es que no sucede nada. Siguiendo la convención de Unix de que si todo sale bien no hay que mostrar nada, al ejecutar el servidor se retorna al prompt como si nada, aunque quedan varios procesos nuevos corriendo que se pueden ver si se ejecuta un ps -A

Entonces era el tiempo de configurar la interfaz web para poder administrar nuestro nuevo software. Lamentablemente aquí la documentación online dejó algunos huecos que debí ir deduciendo, ayudado un poco (mucho) por internet.

Lo primero importante a saber es que los archivos que componen la interfaz web, se encuentran dentro de la carpeta que se crea cuando se descompacta el codigo, dentro del directorio frontends/php

Como mi instalación era con un sistema operativo vacio, que no se usará para otro motivo, en lugar de reconfigurar apache, simplemente copie todos los archivos necesarios al directorio document_root de apache, que en ubuntu es /var/www, previamente habia borrado todos los archivos de ese directorio que no utilizaré.

sudo rm -fr /var/www/*
sudo cp -R frontends/php/* /var/www
sudo chown www-data:www-data /var/www -R

Si abrimos el explorador y comenzamos con la instalación, les ahorro la sorpresa de averigurar que algunos parámetros de php no estarán correctamente seteados, asi que primero configuramos php con las opciones recomendadas por Zabbix, para eso editamos el archivo php.ini con algun editor del agrado del lector (yo uso vi)

El archivo php.ini se encuentra en el directorio /etc/php5/apache2, por lo que mi comando terminó siendo: (si no saben usar Vi, les aconsejo que utilicen otro editor como nano)

sudo vi /etc/php5/apache2/php.ini

Una vez abierto hay que modificar varios valores. Algunos documentados en Zabbix, otros no. A saber modifiqué

max_execution_time = 600
memory_limit = 256M
post_max_size = 32M

[Date]
date.timezone = America/Buenos_Aires

[mbstring]
mbstring.func_overload = 2

Luego de estas modificaciones el el archivo php.ini podemos abrir una explorador, y apuntarlo al puerto 80 de la pc en que se instaló zabbix e ir recorriendo las pantallas, una por una, dandole continuar hasta finalizar la instalación (tal vez quieran completar el valor correcto cuando se les pregunta por el ip o el nombre de la pc que corre el servidor de zabbix)

Increiblemente eso fue todo lo que he hecho, ahora me falta ponerme a investigar como configurar y utilizar realmente este programa, pero ya es otra historia.

Por cierto, luego de haber escrito todo esto encontré en la wiki de Zabbix la siguiente página http://www.zabbix.com/wiki/howto/install/ubuntu/ubuntuinstall que indica otros pasos para instalarlo, seguramente más eficientes o simples que los mios donde a simple vista también se incluyen instrucciones para instalar el soporte de jabber correctamente, y los scripts para iniciar zabbix automaticamente cuando se prende la pc.


4 Responses to “Instalando Zabbix en Ubuntu 9.10 Server”

  1. Interesante post, hay un artículo bastante completo sobre el proceso de instalación de zabbix con oracle, creo que puede resultar de utilidad, el artículo se llama:
    Instalación y Configuración de Zabbix 1.8.x – Oracle 10gR2 – OEL 5.x (CentOS 5.x – Red Hat 5.x)
    y está en la url:
    http://www.malagahabla.com/Blog/ViewPost.aspx?pageid=38&ItemID=63&mid=44

  2. Interesante aportación !! Solo una corrección, en el apartado de la configuración tu haces mención del comando “./compile …” cuando en realidad se necesita “./configure”…Con esto podemos avanzar y terminar nuestra instalación.

  3. Muchas gracias Basko !!! Tienes toda la razón, fue un error que no había advertido, ahora lo arreglo en el post.

  4. HOla muy interesantre tu blog mira tengo un problema el cual es como monitorear o dar de alta los routers o switchs ya que no es solo de un departamento si no de 3 estados es decir monitorear a los 3 estados por medio de zabbix asi como lo hace wha´s up gold
    como levato ese servicio? alguien me puede ayudar?

Discussion Area - Leave a Comment