Algo sumamente importante para los administradores de red es el hecho de conocer cómo esta el estado de los equipos de comunicación, servidores y servicios de red que administra; de tal manera poder anticipar futuros problemas (digamos quedarse sin espacio en disco, error de fan en switches, etc.), conocer por medio de alertas (correo, mensajitos, etc.) cuando algo anda mal, monitorear sitios web, bajo rendimiento, etc.
Se trata de un sistema de monitoreo de red, el cual según wikipedia: Sistema que constantemente monitoriza una red de computadoras o dispositivos de red en busca de componentes defectuosos o lentos, para luego informar a los administradores de redes mediante correo electrónico, pager u otras alarmas. Es un subconjunto de funciones de la administración de redes.
Zabbix es precisamente un sistema de monitoreo de red, diseñado para monitorizar y registrar el estado de varios servicios de red, Servidores, y hardware de red. Hay soluciones pagadas como SolarWinds y otras que se venden modularmente para monitoreo de red/servidores, servicios de red (aplicaciones), entre otros. Pero la ventaja de Zabbix es que no necesitamos pagar nada para obtener casi los mismos resultados 🙂
Ahora, veamos su instalación. Como siempre, basado en un sistema operativo Ubuntu; más específicamente.
Instalación de Zabbix 2.4 en Ubuntu 16.04
Menos mal que existen los repositorios 🙂
Lo primero es asegurarse que se tenga la plataforma LAMP. La forma más sencilla para instalarlo para mí, es mediante tasksel.
sudo tasksel
Se selecciona «LAMP Server» (con espacio de barra), y con TAB nos dirigimos a «ACEPTAR» para dar «enter» e instalar el paquete. Adicionalmente, también podríamos marcar «OpenSSH Server» para conectarnos en remoto por SSH. También, opcionalmente, se podría instalar phpmyadmin para facilitar la administración de MySQL así:
sudo apt install phpmyadmin
La instalación es sencilla, procedemos entonces a ingresar la siguiente línea de comando:
sudo apt install zabbix-server-mysql zabbix-frontend-php
Ahora prepararemos la base de datos. Entramos al mysql, creamos la BD (llamada zabbix), creamos un usuario (llamado zabbix) con full privilegios en la BD creada y salimos de la interfaz de MySQL así:
$ mysql -uroot -pMICLAVE
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘MICLAVE2‘;
mysql> quit;
Ahora crearemos el esquema (tablas, registros base, etc.) de la BD. La verdad no sé porqué no incluyeron éste proceso en la instalación vía web… pero ni modo. Tomar en cuenta que para éste proceso me basé en SO Ubuntu, por cuanto la ubicación (directorio) podría cambiar en otra distribución.
$ zcat /usr/share/zabbix-server-mysql/schema.sql.gz | mysql -uzabbix -p zabbix
$ zcat /usr/share/zabbix-server-mysql/images.sql.gz | mysql -uzabbix -p zabbix
$ zcat /usr/share/zabbix-server-mysql/data.sql.gz | mysql -uzabbix -p zabbix
Aclaro que por cada línea de comando, se le solicitará la clave del usuario zabbix que creamos.
Luego, tendremos que personalizar el archivo de configuración de Zabbix mediante nuestro editor de texto favorito con la información de la BD que hemos creado.
$ sudo nano /etc/zabbix/zabbix_server.conf
Básicamente buscamos los parámetros y quitamos comentarios (borrar caracter #) en los parámetros que ameriten, para que nos quede así:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=MICLAVE2
Ahora hacemos unos cambios de configuración del frontend de Zabbix. Otra de las cosas que no sé porqué no las dejaron preconfiguradas para no tener que hacer esto… pero bueno. Básicamente nos vamos a editar el archivo de configuración con nuestro editor de texto favorito.
sudo nano /etc/apache2/conf-available/zabbix-frontend-php.conf
Y agregamos al final del archivo las siguientes líneas.
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone America/El_Salvador
OJO!, yo puse en mi zona horaria la de El Salvador, pero ustedes deberían de colocar la correspondiente a su país. Para mayor información (nombre específico de la zona), remito al sitio http://php.net/manual/es/timezones.php
El siguiente paso, creo que no es necesario pero por cualquier cosa lo hice yo.
sudo a2enconf zabbix-frontend-php
¡Ya casi terminamos la etapa de línea de comandos!. Iniciamos el servicio de Zabbix y reiniciamos Apache.
sudo service zabbix-server start
sudo service apache2 restart
Desde otra máquina, en el navegador, entraremos a la fase de Instalación vía web.
http://[IP o nombre de servidor Zabbix]/zabbix
Nos aparecerá el asistente con una Bienvenida. Damos clic en Next.
Se hace el chequeo de los pre-requisitos y hay que verificar que todo este bien. Si algo va mal, hay que solventarlo… Dudas, en caja de comentarios. Si todo esta bien, clic en Next.
Colocamos la configuración de conexión a BD que ya hicimos anteriormente y damos clic «Test connection» y, si sale OK, damos clic en Next. (Ojo, en la imagen de abajo el usuario que coloqué es diferente al del ejemplo).
Colocamos el nombre de host (Información adicional: recordar asignarlo mediante el comando hostname [nombre_pc] y en /etc/hosts, así como también en su DNS server si hay en su LAN), el puerto lo dejamos como esta y el nombre de la instalación es opcional (un nombre descriptivo del server). Clic en Next.
Se nos muestra un resumen de lo que hará el asistente, y damos clic en Next.
Ya instalado, nos aparece ésta página donde, por problemas con permisos, no se puede crear el archivo de configuración php de Zabbix.
Para solventar esto, yo lo que hice es lo siguiente: Primero cambio los permisos de la carpeta de configuración de Zabbix.
sudo chmod -R 777 /etc/zabbix
Damos clic ahora al botón «Retry» para que el asistente de la instalación cree el archivo en su lugar.
Ahora cambiamos el permiso de la carpeta de configuración de Zabbix a como estaba así:
sudo chmod -R 755 /etc/zabbix
Damos clic en «Finish» al asistente de instalación de Zabbix y ya podremos ver la página de Inicio de sesión 🙂
Las credenciales por defecto son:
- Usuario: Admin (Tomar en cuenta que la «A» debe ser mayúscula)
- Clave: zabbix
Y veremos el dashboard principal de Zabbix. Obviamente no tenemos ningún equipo pegado, por cuanto no veremos mucho por el momento.
Ok, eso es todo! en futuras entregas, escribiré sobre la instalación del Agente de Zabbix en sistemas GNU/Linux, en Windows, así como también la creación de host (switches, access point, etc.) en el front-end de Zabbix.
Saludos!
Me gusta leer y visitar blogs, aprecio mucho el contenido, el trabajo y el tiempo que ponéis en vuestros artículos. Buscando en por hay he encontrado tu web. Ya he disfrutado de varios artículos, pero este es muy interesante, es unos de mis temas favoritos, y por su calidad he disfrutado mucho. He puesto tu sitio en mis favoritos pues creo que todos tus posts son interesantes y seguro que voy a pasar muy buenos ratos leyendolos.
Muchas gracias, aprecio mucho sus palabras y motivan a seguir adelante. Saludos!