Herramientas

Manual completo de Monitorización Web con Zabbix

Como configurar Zabbix paso a paso para una monitorización web completa

Este es el manual que a mi me habría gustado encontrar en internet antes de haber perdido todas las horas que he perdido en comprender como funciona el sistema de monitorización de Zabbix.

Paso a paso monitorizaremos una web con sus avisos via Slack, via email, y alertas graves, no tan graves, avisos de webs con servicio 24×7.

En zabbix para poder enviar notificaciones, ya sean via Slack, Whatsapp, Email, telefono…necesitas crear un medio de ese tipo de envío a un usuario.
En mi caso, lo tengo dividido en usuarios, dado que envío las notificaciones a 7 personas distintas.

Creación de medios

Vamos a configurar el medio de correo electrónico. Para ello nos vamos a Media Types:

Dentro de Media Types creamos uno nuevo, el tipo va a ser de tipo Email. Por lo tanto rellenamos los parametros de configuración del SMTP de nuestro correo que vamos a utilizar para el envío:

 

Nota: Ojo porque para poder enviar mails con autenticación Zabbix debe estar compilado bajo OpenSSL sino os dará error indicando que no soporta validaciones TLS.

 

Vamos a asignar a nuestro usuario ese tipo de medio.

Y en el usuario le asignamos el medio creado, en mi caso tengo dos, uno es de tipo Email (David Escudero……) y otro de tipo Slack.

 

Ya tenemos creado el medio y asignado a un usuario. En mi caso, lo que tengo montado es que a través de Grupos de Hosts envío notificaciones a unas personas u otras.
Tengo un grupo por ejemplo que es «Soporte 24×7», en el cual envío notificaciones a los altos cargos solo los fines de semana.
Tambien tengo creados otros grupos para enviar notificaciones a las distintas personas que son encargadas de dichos hosts.
Es decir, si tenemos que PEPITO lleva 10 dominios web, pues creo un grupo llamado «Dominio de pepito» y todos los dominios de pepito les asigno el grupo. Así en las notificaciones puedo enviar a una u otra persona dependiendo del dominio que haya fallado.

Vamos a crear un grupo de equipos.

Creación de grupos de equipos

Creamos uno nuevo, le ponemos un nombre y añadimos.

Ahora vamos a la parte mas importante, creación de dominio/maquina.

Todos los hosts/maquinas que tengo creados en realidad son dominios Web. Tengo creado un HOST por web debido a lo que os contaba antes, debo diferenciar a quien voy a enviar las notificaciones.

Creación de nuevo web / host y configuración

Esta es la configuración de uno de la información del host:

En grupos asignamos el grupo que hayamos creado y el que le corresponda.

Ahora vamos a crear el test de la web:

Aquí creamos un nuevo paso web con la siguiente configuración:

He puesto un intervalo de 2m (2 minutos) porque creo que es suficiente, aunque también estaría bien medir únicamente cada 5m (5 minutos).

Ahora creamos el paso que vamos a verificar, es decir, la web que vamos a testear:

Esta es mi configuración, vean que en el parametro requerido he puesto una cadena que tengo oculta dentro de la web para testear que a parte de recibir un codigo 200 también esté incluida esa cadena:

Una vez creado el paso web, vamos a la parte mas importante, los disparadores de alertas.

 

Esta parte que viene a continuación es la parte en la que he perdido mas tiempo, en la configuración de los disparadores, he creado los siguientes disparadores:

Tengo creados los siguientes pasos:

-Warning ( No envío alerta ninguna) – Alerta caida web – Este paso se dispara en el panel de Zabbix cuando la respuesta a la web no es un codigo 200, sino un 404, 500, 505….
-Information( No envío alerta ninguna) – Tiempo de respuesta de la web mas de 5s – Mide el tiempo de respuesta y si es superior a 5 segundos pues lanza una alerta en el panel de Zabbix, sin mandar notificación.
-Warning( No envío alerta ninguna) – Tiempo de respuesta de la web mas de 15s – Mide el tiempo de respuesta y si es superior a 15 segundos pues lanza una alerta en el panel de Zabbix, sin mandar notificación.
-Alto(Si manda notificación) – Tiempo de respuesta medio de la web mas de 30s durante los últimos 5 pasos – Mide el tiempo de respuesta y si es superior a 30 segundos durante los ultimos 5 pasos pues lanza una alerta en el panel de Zabbix, sin mandar notificación.
-MedioAlto (No envia nada) – Tiempo de respuesta de la web mas de 60s – Mide el tiempo de respuesta y si es superior a 60 segundos pues lanza una alerta en el panel de Zabbix, sin mandar notificación.
-Alto (Si envia notificación) – Esta alerta es una de las mas importante, verifica que durante los ultimos 6 minutos el paso web haya fallado y si ha fallado y en el error del paso tenemos «required pattern» (falta el string que le hemos puesto que busque) entonces lanza alerta.
-Caida de la web – Durante mas de 6m el codigo de respuesta ha sido > 400, es decir, 404, 500, 505…

 

Con esto ya tendríamos nuestro dominio configurado. Ahora tenemos que crear las acciones que hará Zabbix cuando detecte una alerta de tipo «High» o «Disaster».

Así tengo yo configurada la acción:

Basicamente se dispara la acción cuando el disparador es de tipo «High», «Disaster» ó «Average» y el Host tiene el Grupo asignado «Servicio web».

Vamos a ir a Operaciones para asignar lo que realizará la acción:

En Operations creamos una nueva operación con esta configuración:

Yo he elegido enviar la notificación por Slack pero vosotros podeis elegir la del medio que hayais creado (Email, telefono…)

 

Con esto hecho el sistema ya empezará a enviar las notificaciones y tendréis un sistema perfecto de monitorización web.

 

 

 

 

 

descuderosanchez@gmail.com

Compartir
Publicado por
descuderosanchez@gmail.com

Artículos Recientes

Script para Duplicar BBDD en otro Prestashop

Modifica tu tienda en un solo sitio Si por algún motivo, no utilizas multitienda y…

4 años ago

Prestashop – No se muestran las opciones de pago

En el proceso de compra no se muestran las opciones de pago Si te has…

4 años ago

Regeneración BBDD Symfony en Deploy

/migrations#rm -rf ./* #php bin/console doctrine:migrations:generate #php bin/console doctrine:migrations:migrate #php bin/console doctrine:migrations:current #php bin/console doctrine:migrations:diff…

4 años ago

Inicializar proyecto Symfony 5 para gestionar entidades

Pasos para inicializar un proyecto Symfony 5 y un panel de control de entidades Inicializando Symfony:…

4 años ago

Odoo – Enlaces de interes

MODULOS DE ODOO NECESARIOS PARA UN ECOMMERCE Enlaces de OCA de interes: En el siguiente…

4 años ago

Como Migrar Prestashop 1.7 de un dominio a otro

Migración de un prestashop 1.7 de un dominio a otro. Copiamos la BBDD del antiguo…

4 años ago