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.
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.
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.
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.
Modifica tu tienda en un solo sitio Si por algún motivo, no utilizas multitienda y…
En el proceso de compra no se muestran las opciones de pago Si te has…
/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…
Pasos para inicializar un proyecto Symfony 5 y un panel de control de entidades Inicializando Symfony:…
MODULOS DE ODOO NECESARIOS PARA UN ECOMMERCE Enlaces de OCA de interes: En el siguiente…
Migración de un prestashop 1.7 de un dominio a otro. Copiamos la BBDD del antiguo…