Zabbix para monitorización

Zabbix es un Sistema de Monitorización de Redes creado por Alexei Vladishev. Está diseñado para monitorizar y registrar el estado de varios servicios de red, Servidores, y hardware de red. Usa MySQL, PostgreSQL, SQLite, Oracle o IBM DB2 como base de datos

Instalación de Zabbix

Vamos a instalar zabbix para monitorizar servidores, servicios y más.

Vamos a instalarlo en el servidor de ubuntu instalado en otro tutorial.

Realmente es muy fácil instalarlo, el mismo zabbix te da un tutorial.

Descargar Zabbix 6.4 for Ubuntu 22.04 (Jammy), MySQL, Apache

image.png

Después de elegir todo lo que queremos o como lo queremos bajamos de este paso 1 y comenzamos con la instalación.

Utilizamos los siguientes comandos para descargar e instalar zabbix.

'wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb'

image.png

'sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb'

image.png

ES NECESARIO TENER APACHE Y MYSQL/MARIADB INSTALADO, TE DEJO DOS TUTORIALES PARA INSTALAR Y CONFIGURAR ESTOS DOS SERVICIOS, SI YA LOS TIENES PUEDES SEGUIR.

APACHE --> Instalación de Apache | WiKasa

MariaDB --> Instalación de MariaDB | WiKasa

Después de tener apache y MariaDB, podemos seguir con zabbix.

Lo instalamos con el siguiente comando.

'sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent'

image.png

Ahora tenemos que crear una base de datos para zabbix, en este caso vamos a hacerlo por comandos como indica el manual de zabbix, aunque se podría hacer por PHPMYADMIN.

'# mysql -u root -p'
'create database zabbix character set utf8mb4 collate utf8mb4_bin;'
'create user zabbix@localhost identified by 'password';'
'grant all privileges on zabbix.* to zabbix@localhost;'
'set global log_bin_trust_function_creators = 1;'
'exit;'

image.png

Ahora importamos el esquema de zabbix, te pedirá la contraseña del usuario creado en la base de datos.

'sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix'

image.png

Después desactivamos una de las opciones activadas antes para importar el esquema.

'sudo mysql -u root -p'
'set global log_bin_trust_function_creators = 0;'
'quit;'

image.png

Ahora tenemos que editar un archivo de zabbix para indicarle la contraseña al usuario de zabbix en la base de datos.

Editamos el archivo /etc/zabbix/zabbix_server.conf y buscamos el siguiente apartado.

image.png

Ahora reiniciamos los servicios de zabbix y apache, los activamos y echamos un vistazo al estado para que este todo verde.

'sudo systemctl restart zabbix-server zabbix-agent apache2'

image.png

'sudo systemctl enable zabbix-server zabbix-agent apache2'

image.png

'sudo systemctl status zabbix-server zabbix-agent apache2'

image.png

Ahora accedemos con la IP del servidor con /zabbix al final --> http://192.168.1.92/zabbix

image.png

Seguimos y vemos los requisitos para hacerlo funcionar, en mi caso todo esta ok.

image.png

Indicamos los datos de la base de datos.

image.png

Indicamos las siguientes opciones, el nombre del servidor de zabbix poner el mismo que el de ubuntu.

image.png

Te hace un resumen y te dirá que esta todo ok.

image.png

image.png

Ahora entramos con usuario 'Admin' y contraseña 'zabbix'

image.png

Y ya estaríamos dentro.

image.png

Cambiar idioma

Para cambiar el idioma en zabbix tenemos que acceder a un archivo php y modificar un parámetro.

Por defecto hay varios idiomas ocultos, vamos a mostrar en mi caso Español e Ingles.

Accedemos a /usr/share/zabbix/include/locales.inc.php y modificamos lo siguiente

image.png

Y modificamos el parámetro donde indica si mostrar o no el idioma para elegir en la página web.

'display => false o true'

image.png

Reiniciamos el servicio de apache.

image.png

Y al cambiar de idioma os saldrá solo los que hayas habilitado.

image.png

image.png

Añadir un host Linux a la monitorización

Para ello nos dirigimos a la siguiente página https://www.zabbix.com/la/download y  elegimos las siguientes opciones:

image.png

Ahora bajamos y nos saldrán los comandos a ejecutar.

'sudo wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb'

image.png

Ejecutamos el .deb.

'sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb'

image.png

Actualizamos los repositorios.

'sudo apt update'

image.png

Instalamos los paquetes que nos pida, si nos pide.

'sudo apt upgrade -y'

image.png

Y ya instalamos el agente de zabbix.

'sudo apt install zabbix-agent'

image.png

Reiniciamos el demonio y lo activamos.

'sudo systemctl restart zabbix-agent.service'

'sudo systemctl enable zabbix-agent.service'

image.png

Comprobamos el estado del demonio por si fallará algo.

'sudo systemctl status zabbix-agent.service'

image.png

Ahora editamos el archivo /etc/zabbix/zabbix-agentd.conf

Buscamos los siguientes apartados e indicamos la dirección IP del servidor de zabbix.

image.png

image.png

El hostname ponemos el nombre de host que queramos que identifique el servidor.

image.png

Guardamos el archivo.

Ahora abrimos el puerto 10050 con el protocolo TCP en el firewall mediante UFW.

También reiniciamos y activamos el demonio.

'sudo ufw allow 10050/tcp'

'sudo systemctl restart zabbix-agent.service'

'sudo systemctl enable zabbix-agent.service'

image.png

Ahora nos vamos a la interfaz web de zabbix y nos metemos a Monitorización --> Equipos.

image.png

Ahora nos vamos a la esquina superior derecha y le damos a crear equipo.

image.png

Aparecerá una ventana como esta:

image.png

Hay que colocarle un nombre al equipo/host.

En plantillas nos saldrá la siguiente ventana cuando le demos seleccionar.

image.png

Le tenemos que volver a dar a seleccionar y le daremos a Templates/Operating Systems

image.png

Ahora nos saldrán varias opciones, elegimos Linux by Zabbix Agent.

image.png

Nos devolverá a la ventana principal y ahora nos toca elegir un grupo de equipos. En este caso hay un por defecto llamado Linux Servers.

image.png

Ahora tenemos que decirle que IP tiene el equipo. En interface le damos a agregar agente y le ponemos la IP, un nombre DNS (Pon el que quieras) y el puerto que por defecto zabbix utiliza el 10050 por TCP. Si quisiéramos modificar el puerto tendríamos que modificarlo también en el archivo que editamos en el equipo cliente y abrir el puerto en el firewall.

image.png

image.png

Y con eso ya le podemos dar a guardar.

Ahora nos llevará a la página principal de equipos y nos saldrá abajo con un botón apagado, esperamos unos segundos y deberíamos de ver ese botón verde indicando que ya esta obteniendo datos del equipo y con esto ya hemos añadido un equipo linux a zabbix.

image.png


Añadir un host Windows a la monitorización

Después de añadir un host a Linux vamos a ver como hacerlo con Windows y si, en interfaz gráfica.

Nos dirigimos a descargar el cliente para windows en la siguiente página oficial.

https://www.zabbix.com/la/download_agents

image.png

image.png

Lo vamos a instalar, aceptamos todos los términos junto a a instalar todos los drivers.

image.png

 Y nos pedirá los mismos datos que en Linux tuvimos que modificar. (Hostname e IP del servidor zabbix).

image.png

Una vez instalado abrimos el puerto.

image.png

Nos vamos a configuración avanzada

image.png

Nos vamos a Reglas de entrada en la izquierda y después a Nueva regla en la derecha.

image.png                                                     image.png

Ahora en la ventana que nos sale le damos a Puerto.

image.png

Después le indicamos el puerto.

image.png

Le damos a siguiente dos veces.

image.png

image.png

Le indicamos nombre y listo.

image.png

 

Nos dirigimos a zabbix y añadimos el host como hicimos con Linux.

En este caso, no existe un grupo de equipos sobre Windows. Creamos uno rápido, nos vamos a "Recopilación de datos" --> "Grupos de equipos". Y de la misma manera creamos grupo en la esquina superior derecha. Solo nos pide el nombre.

image.png

Ahora ya podemos crear el equipo.

Plantilla -->

image.png

Lo demás -->

image.png

Ahora saldrá así.

image.png

Pero en segundos se colocará de la siguiente forma y ya estaría añadido.

image.png