Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

8 Supervisar sitios web con métricas de navegador

Introducción

Esta página le guía a través de los pasos necesarios para iniciar la monitorización básica de sitios web con métricas de navegador.

Para quién es esta guía

Esta guía está diseñada para nuevos usuarios de Zabbix y contiene el conjunto mínimo de pasos necesarios para habilitar la monitorización básica de sitios web con métricas de navegador. Si busca opciones de personalización avanzadas o requiere una configuración más avanzada, consulte la página de Métricas de navegador o la sección de Configuración del manual de Zabbix.

Requisitos previos

Antes de continuar con esta guía, debe descargar e instalar el servidor Zabbix y el frontend Zabbix según las instrucciones para su sistema operativo.

Esta guía se basa en la siguiente configuración:

  • Versión de Zabbix: 7.2 PRE-RELEASE (instalado desde paquetes)
  • Distribución del sistema operativo: Ubuntu
  • Versión del sistema operativo: 22.04 (Jammy)
  • Componentes de Zabbix: Servidor, Frontend, Agente
  • Base de datos: MySQL
  • Servidor web: Apache

Configurar WebDriver

Las métricas de navegador requieren un framework de automatización (ya sea Selenium Server o un WebDriver simple, por ejemplo, ChromeDriver) como un punto final de pruebas web que controla e interactúa con un navegador, ejecutando comandos de prueba como hacer clic en botones o ingresar texto. Como ejemplo, esta guía utilizará Selenium Server con Chrome en un contenedor Docker.

Se asume que Docker ya está configurado. Esta guía no cubre la configuración de Docker. Para instrucciones de instalación, consulte Instalar Docker Engine en Ubuntu.

1. Inicie Selenium Server con Chrome en un contenedor Docker con las siguientes opciones:

  • docker run --name browser - ejecuta un nuevo contenedor Docker llamado "browser";
  • -p 4444:4444 - mapea el puerto 4444 en su máquina anfitriona al puerto 4444 en el contenedor (este es el puerto utilizado por Selenium Server para aceptar comandos);
  • -p 7900:7900 - mapea el puerto 7900 en su máquina anfitriona al puerto 7900 en el contenedor (este es el puerto utilizado por el servidor Virtual Network Computing (VNC), lo que le permite ver la interfaz gráfica del navegador de forma remota; requiere un cliente VNC);
  • --shm-size="2g" - asigna 2GB de memoria compartida al contenedor (esto es importante para que Chrome funcione correctamente, ya que puede requerir una cantidad significativa de memoria compartida para evitar bloqueos);
  • -d - ejecuta el contenedor en modo desacoplado, lo que significa que se ejecutará en segundo plano;
  • selenium/standalone-chrome:latest - especifica la imagen Docker a utilizar; en este caso, la última versión de Selenium Server con Chrome.
docker run --name browser \
       -p 4444:4444 \
       -p 7900:7900 \
       --shm-size="2g" \
       -d selenium/standalone-chrome:latest

2. Asegúrese de que el contenedor Docker browser esté en ejecución y sea accesible.

  • Obtenga la dirección IP del contenedor (en este ejemplo, 192.0.2.1):
ip addr
       
       # 1: lo: <LOOPBACK,UP,LOWER_UP>
       #    ...
       # 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> ...
       #    inet 192.0.2.1/16 brd 192.0.255.255 scope global docker0
       #    ...
  • Pruebe la conexión al contenedor con Ncat:
nc -zv 192.0.2.1 4444
       
       # Connection to 192.0.2.1 4444 port [tcp/*] succeeded!
  • Obtenga el contenido de la página web de Selenium Server con curl:
curl -L 192.0.2.1:4444
       
       # <!DOCTYPE html>
       # <html lang="en">
       # 
       # <head>
       #   <meta charset="utf-8"/>
       #   <link href="favicon.svg" rel="icon" type="image/svg">
       #   <meta content="width=device-width, initial-scale=1" name="viewport"/>
       #   <link href="logo192.png" rel="apple-touch-icon"/>
       #   <link href="manifest.json" rel="manifest"/>
       #   <title>Selenium Grid</title>
       # </head>
       # 
       # <body>
       # ...

Para la resolución de problemas, consulte la documentación de Docker.

Configurar el servidor Zabbix

Las métricas de navegador son ejecutadas y procesadas por los procesos browser poller de Zabbix, que deben estar habilitados ajustando el parámetro de configuración del servidor StartBrowserPollers. Además, el parámetro WebDriverURL debe especificar el endpoint de pruebas web configurado previamente.

Por defecto, el parámetro StartBrowserPollers está establecido en 1, por lo que solo necesita especificar el endpoint de pruebas web.

1. Abra el archivo de configuración del servidor Zabbix.

vi /etc/zabbix/zabbix_server.conf

2. Localice y establezca el parámetro WebDriverURL en el archivo de configuración del servidor Zabbix:

### Option: WebDriverURL
       #   WebDriver interface HTTP[S] URL. For example http://localhost:4444 used with Selenium WebDriver standalone server.
       #
       # Mandatory: no
       # Default:
       # WebDriverURL=
       
       WebDriverURL=192.0.2.1:4444

3. Reinicie el servidor Zabbix.

systemctl restart zabbix-server

Configurar la interfaz web de Zabbix

1. Inicie sesión en la interfaz web de Zabbix.

2. Cree un equipo en la interfaz web de Zabbix:

  • En el campo Nombre del equipo, introduzca un nombre de equipo (por ejemplo, "git.zabbix.com").
  • En el campo Plantillas, escriba o seleccione la plantilla "Website by Browser". Para obtener más información sobre esta plantilla, consulte Website by Browser.
  • En el campo Grupos de equipos, escriba o seleccione un grupo de equipos (por ejemplo, un nuevo grupo de equipos "Websites").

  • En la pestaña Macros, cambie a Macros heredadas y de equipo, busque las siguientes macros y haga clic en Cambiar junto al valor de la macro para actualizarlo:
    • {$WEBSITE.DOMAIN} - Nombre de dominio (por ejemplo, git.zabbix.com/projects/ZBX/repos/zabbix/browse)
    • {$WEBSITE.GET.DATA.INTERVAL} - Intervalo de actualización de datos de la métrica (por ejemplo, 15m)

3. Haga clic en el botón Añadir para crear el equipo. Este equipo representará el sitio web que desea monitorizar.

Ver métricas recopiladas

¡Felicidades! En este punto, Zabbix ya está monitorizando el sitio web que especificaste.

Para ver las métricas recopiladas, navega a la sección de menú Monitorización → Equipos y haz clic en Cuadros de mando junto al equipo.

Esta acción te llevará al cuadro de mando del equipo (configurado a nivel de plantilla) con las métricas más importantes recopiladas del sitio web.

Configurar alertas de problemas

Zabbix puede notificarle sobre un problema en su infraestructura utilizando una variedad de métodos. Esta guía proporciona los pasos básicos de configuración para enviar alertas por correo electrónico.

1. Vaya a Configuración de usuario → Perfil, cambie a la pestaña Medios y agregue su correo electrónico.

2. Siga la guía para Recibir una notificación de problema.

La próxima vez que Zabbix detecte un problema, debería recibir una alerta por correo electrónico.

Pruebe su configuración

Para probar su configuración, podemos simular un problema real actualizando la configuración del equipo en la interfaz de Zabbix.

1. Abra la configuración del equipo de su sitio web en Zabbix.

2. Cambie a la pestaña Macros y seleccione Macros heredadas y del equipo.

3. Haga clic en Cambiar junto al valor de la macro {$WEBSITE.DOMAIN} configurada previamente y establezca un nombre de dominio incorrecto (por ejemplo, /git.zabbix.com/projects/ZBX/repos/zabbix/browse).

4. Haga clic en Actualizar para actualizar la configuración del equipo.

5. En unos momentos, Zabbix detectará el problema "No se pudo obtener el JSON del sitio web solicitado", porque no podrá conectarse al sitio web especificado. El problema aparecerá en Supervisión → Problemas.

Si las alertas están configuradas, también recibirá la notificación del problema.

6. Cambie el valor de la macro a su valor anterior para resolver el problema y continuar supervisando el sitio web.

Véase también

  • Creando una métrica: cómo empezar a monitorizar métricas adicionales.
  • Escalaciones de problemas: cómo crear escenarios de alerta de varios pasos (por ejemplo, primero enviar un mensaje al administrador del sistema, luego, si el problema no se resuelve en 45 minutos, enviar un mensaje al responsable del centro de datos).
  • Métricas de navegador: cómo configurar métricas de navegador.
  • Plantilla Sitio web por navegador: información adicional sobre la plantilla Sitio web por navegador.