Zabbix en dos días (día 1)
Buenas tardes bloggeros!
Esta tarde de domingo me propuse a hacer un pequeñísimo resumen de lo que fue mi aprendizaje acelerado de Zabbix. Esta poderosa herramienta para monitoreo de servicios, hosts, routers y switches es fundamental, desde mi punto de vista, en cualquier organización que cuente con una infraestructura de red donde haya servicios que son críticos y que deben tener alta disponibilidad, si es que de ellos depende nuestro negocio.
Ya venía con esta idea desde que entré a trabajar de deployar una herramienta de estas características. Así que investigando, leyendo y probando llegué a Zabbix. Pasé por Nagios y The Dude; la primera me parecía demasiado costosa en tiempo para que funcione aunque sea en un entorno de prueba, ya que para cada host que haya que dar de alta es preciso configurar un fichero; la segunda que pertenece a la gente de Mikrotik no es de código abierto y solo puede ejecutarse en entorno Windows.
Como utilizo tecnologías open source y con licencia GPL, no dudé en meterme de lleno con Zabbix. Y es por eso que, en esta breve entrada de mi blog, relataré como lo instalé y algunos problemas que tuve, así como algunas cosas interesantes que puse en marcha como para mostrarle a mi jefe y que me ponga buena cara :DD
Instalar Zabbix es relativamente sencillo, aunque debo decir que me topé con ciertos inconvenientes que los solucioné luego de batallar y guglear un rato.
Mi computadora cuenta con un SO Debian Jessie y un micro de arquitectura amd64. Si nos remitimos a la docu oficial en la parte de instalación, veremos que se hace referencia a la distribución estable vieja, o sea Wheezy. Aquí fue donde tuve el primer inconveniente. Para quienes tenga Debian 8 recomiendo instalar utilizando los fuentes de Zabbix... ¿y por qué? De acuerdo al manual oficial de instalación tenemos que instalar dos paquetes para el frontend: zabbix-server-mysql zabbix-frontend-php. Pero si lo intentamos hacer tendremos la siguiente dependencia incumplida: libsnmp15, un paquete que si lo buscan dentro de la sección de paquetes de la página oficial de Debian no lo encontrarán. También pueden leer en el siguiente entrada del foro de Zabbix y en esta lista de mails que esta cuestión no está resuelta. El paquete que tiene Debian Jessie es libsnmp30; no recomiendo instalar en forma forzada la versión 15 porque habrá problemas.
Vamos directamente a lo que da buenos resultados! :))
Requisitos previos: tener apache2, php5 y Mysql (cliente y servidor) instalados, así como demás requisitos indicados aquí.
Descarguemos los fuentes desde la sección de descargas de Zabbix de la versión última, la 2.4. Seguimos los pasos que nos indica la docu:
- Crear los usuarios y el grupo zabbix:
# groupadd zabbix # useradd -g zabbix zabbix
- Moverse al directorio donde hayamos descargado el fichero y lo descomprimir el fichero:
$ cd /home/user/Descargas && tar xvzf zabbix-2.4.5.tar.gz && cd zabbix-2.4.5
- Configuramos los fuentes (leer nota abajo):
$./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp
--with-libcurl --with-libxml2 --with-jabber=/usr/
- Configurar los fuentes para el agente Zabbix:
$./configure --enable-agent
- Make e instalar:
# make install
Nota: si queremos que nuestro Zabbix utilice Jabber para las notificaciones primeramente instalamos el paquete libiksemel3 y luego configuramos los fuentes.
Lo que sigue es instalar nuestro frontend. Para ello, desde el directorio desde donde están los fuentes, copiamos el directorio php que está dentro de frontend en nuestro document root de apache:
# cp /home/user/Descargas/zabbix-2.4.5/frontends/php /var/www/html -R
Dado que Zabbix utiliza base de datos para almacenar la información relacionada a usuarios, eventos, etc., creamos una desde la consola de Mysql:
>(mysql) create database zabbix character set utf8 collate utf8_bin;
>(mysql) grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
>(mysql) quit;
Hecho esto, procemos a importar los esquemas. Es importante utilizar los esquemas que están dentro del directorio de los sources de Zabbix, de otra forma tendremos un error.
$ cd /home/user/Descargas/zabbix-2.4.5/database/mysql
$ mysql -u zabbix -p zabbix < schema.sql
$ mysql -u zabbix -p zabbix < data.sql
$ mysql -u zabbix -p zabbix < images.sql
Procedemos a abrir nuestro navegador web con la siguiente dirección:
http://localhost/zabbix y comenzamos la instalación

Verificamos que cumplimos con los requisitos. Si no es así, se debe setear los parámetros correctamente desde el fichero /etc/php5/apache2/php.ini

Configuramos nuestra base de datos con los nombres de BD, usuario y password elegidos anteriormente.

Ingresar los detalles del servidor Zabbix (corre en el puerto 10051 por defecto aunque puede ser modificado)

Comprobamos el resumen de instalación.

Descargamos el fichero de configuración y lo copiamos donde se nos indica.

Hacemos click en retry y comprobamos que la instalación está OK.

Accedemos a la ventana de login de Zabbix:

Esta es la primera parte de mis post sobre Zabbix. En la próxima entrega, explicaré como instalar un agente en una máquina Windows, cómo monitorear los servicios que queramos, crear alertas, notificaciones a través de XMPP y otra cosillas más. Espero que esto les haya resultado útil.
Hasta la próxima.
Excelente!, la continuación para cuando?
ResponderBorrarPronto publicaré lo que falta de Zabbix. Estaré más activa en el blog este año :D
BorrarGracias por tu comentario!
Hola, que tanto sabes de zabbix? ultimamente me esta dando dolores de cabeza, crees que me puedas ayudar?
ResponderBorrar