Esta página le muestra los pasos necesarios para comenzar a monitorear sitios web de forma básica con métricas de navegador.
A quién va dirigida 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 el monitoreo básico de sitios web con métricas de navegador. Si busca opciones de personalización más profundas o requiere una configuración más avanzada, consulte la página Métricas de navegador o la sección Configuración del manual de Zabbix.
Prerequisites
Before proceeding with this guide, you need to download and install Zabbix server and Zabbix frontend according to the instructions for your OS.
This guide is based on the following setup:
Las métricas de navegador requieren un marco de automatización (ya sea Selenium Server o un WebDriver simple, por ejemplo, ChromeDriver) como punto final de prueba 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 supone que Docker ya está configurado. Esta guía no cubre la configuración de Docker. Para obtener 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
- asigna el puerto 4444 de su máquina host al puerto 4444 del contenedor (este es el puerto que utiliza Selenium Server para aceptar comandos);-p 7900:7900
- asigna el puerto 7900 de su máquina host al puerto 7900 del contenedor (este es el puerto que utiliza el servidor de Virtual Network Computing (VNC), lo que le permite ver la GUI del navegador de forma remota; requiere un cliente VNC);--shm-size="2g"
- asigna 2 GB de memoria compartida al contenedor (esto es importante para que Chrome se ejecute correctamente, ya que puede requerir una cantidad significativa de memoria compartida para evitar fallas);-d
- ejecuta el contenedor en modo separado, lo que significa que se ejecutará en segundo plano;selenium/standalone-chrome:latest
- especifica la imagen de Docker que se 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.
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
# ...
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 solucionar problemas, consulte la documentación de Docker.
Las métricas de navegador son ejecutadas y procesadas por procesos Zabbix browser poller que deben habilitarse ajustando el parámetro de configuración del servidor StartBrowserPollers. Además, el parámetro WebDriverURL debe especificar el punto final de prueba web configurado previamente.
De manera predeterminada, el parámetro StartBrowserPollers está configurado en 1, por lo tanto, solo necesita especificar el punto final de prueba web.
1. Abra el archivo de configuración del servidor Zabbix.
2. Localice y configure el parámetro WebDriverURL en el archivo de configuración del servidor Zabbix:
### Opción: WebDriverURL
# URL HTTP[S] de la interfaz de WebDriver. Por ejemplo, http://localhost:4444 se utiliza con el servidor independiente Selenium WebDriver.
#
# Obligatorio: no
# Predeterminado:
# WebDriverURL=
WebDriverURL=192.0.2.1:4444
3. Reinicie el servidor Zabbix.
1. Log into Zabbix frontend.
2. Create a host in Zabbix web interface:
3. Click the Add button to create the host. This host will represent the website you want to monitor.
¡Felicitaciones! En este punto, Zabbix ya está monitoreando el sitio web que especificó.
Para ver las métricas recopiladas, navegue a la sección de menú Monitoreo → Equipos y haga clic en Tablerosl junto al equipo.
Esta acción lo llevará al tablero del equipo (configurado en el nivel de plantilla) con las métricas más importantes recopiladas del sitio web.
Zabbix puede notificarle sobre un problema con su infraestructura mediante 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.
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, por ejemplo, al valor de la macro previamente configurada {$WEBSITE.DOMAIN} y configure 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 Monitoreo → 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 monitoreando el sitio web.