Monitoreu llocs web amb elements del navegador

Introducció

Aquest lloc us explica les passes necessàries per començar el monitoratge bàsic d'elements del navegador.

Per a qui és feta aquesta guia

Aquesta guia és dissenyada per a usuaris nous de Zabbix i conté el conjunt mínim de passes necessaris per habilitar el monitoratge bàsic de llocs web amb elements de navegador. Si busqueu opcions de personalització més complexes o us cal una configuració més avançada, consulteu la secció d'elements de navegador o la secció Configuració del manual Zabbix.

Prerequisits

Abans de continuar amb aquesta guia, heu de descarregar i instal·lar el servidor Zabbix i la interfície Zabbix segons les instruccions del vostre sistema operatiu.

Depenent del vostre entorn, algunes passes d'aquesta guia poden diferir lleugerament. Aquesta guia es basa en un entorn que executa Ubuntu.

Configureu el WebDriver

Els elements del navegador requereixen un marc d'automatització (ja sigui Selenium Server o un WebDriver senzill, per exemple, ChromeDriver) com a punt final de proves web que controla i interactua amb un navegador, executant ordres de prova com fer clic a botons o introduir text. Com a exemple, aquesta guia utilitzarà el servidor Selenium amb Chrome en un contenidor Docker.

Se suposa que Docker ja és configurat. Aquesta guia no cobreix la configuració de Docker. Per obtindre instruccions d'instal·lació, veieu Instal·lar Docker Engine a Ubuntu.

1. Engegueu el servidor Selenium amb Chrome en un contenidor Docker amb les opcions següents:

  • docker run --name browser - executa un nou contenidor Docker anomenat "browser";
  • **-p 4444:444*** - mapes port 4444 a la vostra màquina per portar 4444 al contenidor (aquest és el port emprat per Selenium Server per acceptar comandes);
  • -p 7900:7900 - mapes port 7900 a la vostra màquina per portar 7900 al contenidor (aquest és el port utilitzat pel servidor Virtual Network Computing (VNC), que us permet veure remotament la interfície gràfica d'usuari del navegador; cal un client VNC);
  • --shm-size="2g" - assigna 2GO de memòria compartida al contenidor (això és important perquè Chrome s'executi correctament, ja que pot caldre una quantitat significativa de memòria compartida per evitar fallades);
  • -d - s'executa el contenidor en mode separat, el que significa que s'executarà en segon pla;
  • seleni/standalone-chrome:latest - especifica la imatge de Docker a emprar; en aquest cas, la darrera versió de Selenium Server amb Chrome.
docker run --name browser \
-p 4444:4444 \
-p 7900:7900 \
--shm-size="2g" \
-d selenium/standalone-chrome:latest

2. Assegureu-vos que el contenidor browser de Docker és en marxa i accessible.

  • Recupereu l'adreça IP del contenidor (en aquest exemple, 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
#    ...
  • Proveu la connexió amb el contenidor amb Ncat:
nc -zv 192.0.2.1 4444

# Connexió a 192.0.2.1 4444 port [tcp/*] correcta!
  • Recupereu el contingut de la pàgina web de Selenium Server amb 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>
# ...

Per correcció de problemes, veieu la documentació de Docker.

Configurar el servidor de Zabbix

Els elements del navegador són executats i processats per els processos d'enquestador de navegador de Zabbix que s'han d'activar ajustant el paràmetre de configuració [StartBrowserPollers](/manual/appendix/config/zabbix_server #startbrowserpollers). A més, el paràmetre WebDriverURL hauria d'especificar el punt final de proves web prèviament configurat.

Per defecte, el paràmetre StartBrowserPollers s'estableix en 1, per tant, només cal especificar el punt final de les proves web.

1. Obriu l'arxiu de configuració del servidor Zabbix.

vi /etc/zabbix/zabbix_server.conf

2. Ubiqueu i establiu el paràmetre WebDriverURL a l'arxiu de configuració del servidor Zabbix:

### Opció: WebDriverURL
# Interfície WebDriver HTTP[S] URL. Per exemple, http://localhost:4444 utilitzat amb el servidor independent Selenium WebDriver.
#
# Obligatori: no
# Per defecte:
# WebDriverURL=

WebDriverURL=192.0.2.1:4444

3. Reinicieu el servidor Zabbix.

systemctl restart zabbix-server

Configurar la interfície de Zabbix

1. Entreu a la interfície de Zabbix.

2. Creeu un equip a la interfície web de Zabbix:

  • Al camp Nom d'equip, introduïu un nom d'equip (per exemple, "git.zabbix.com").
  • Al camp Plantilles, escriviu o trieu la plantilla "Lloc web per navegador". Per obtindre més informació sobre aquesta plantilla, consulteu el [Lloc web per navegador](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/website_browser? at=refs%2Fheads%2Flease%2F7.0).
  • Al camp Grup d'equips, escriviu o trieu un grup d'equips (per exemple, un nou grup d'equips "Llocs web").

![](.. /. /../actius/ca/manual/guies/browser_host.png){width="600"}

  • A la pestanya Macros, canvieu a Macros heretats i equip, cerqueu les macros següents i feu clic a Canviar al costat del valor de la macro per actualitzar-la:
    • {$WEBSITE.DOMAIN} - Nom de domini (per exemple, git.zabbix.com/projects/ZBX/repos/zabbix/browse)
    • {$WEBSITE.GET.DATA.INTERVAL} - Interval d'actualització de dades de l'element (per exemple, 15m)

![](.. /. /../actius/en/manual/guies/browser_macros.png){width="600"}

3. Feu clic al botó Afegir per crear l'equip. Aquest equip representarà el lloc web que voleu monitorar.

Veure les mètriques recopilades

Felicitats! En aquest moment, Zabbix ja monitora el lloc web que heu definit.

Per veure les mètriques recopilades, aneu a la secció de menú Monitoratge → Equips i feu clic a Taulers al costat de l'equip.

Aquesta acció us durà al tauler de control de l'equip (configurat al nivell de plantilla) amb les mètriques més importants recollides del lloc web.

Configurant les alertes de problemes

Zabbix us pot notificar sobre un problema amb la vostra infraestructura mitjançant diversos mètodes. Aquesta guia ofereix passes bàsiques de configuració per enviar alertes per correu electrònic.

1. Aneu a Configuració de l'usuari → Perfil, canvieu a la pestanya Suport i afegiu el vostre correu electrònic.

2. Seguiu la guia per a Rebre una notificació de problema.

El proper cop, quan Zabbix detecti un problema, hauríeu de rebre una alerta per correu electrònic.

Proveu la vostra configuració

Per provar la configuració, podem simular un problema real actualitzant la configuració de l'equip a la interfície de Zabbix.

1. Obriu la configuració de l'equip del vostre lloc web a Zabbix.

2. Canvieu a la pestanya Macros i trieu Macres heretades i equip.

3. Feu clic a Canviar al costat, per exemple, del valor macro previament configurat} i establiu un nom de domini incorrecte (per exemple, /git.zabbix.com/projects/ZBX/repos/zabbix/browse).

4. Feu clic a Actualitzar per actualitzar la configuració de l'equip.

5. De seguida, Zabbix detectarà el problema "No s'ha pogut obtindre JSON de la pàgina web demanada", ja que no podrà connectar-se a la pàgina web especificada. El problema apareixerà a Monitoratge → Problemes.

![](.. /. /./actius/en/manual/guies/browser_problem.png){width="600"}

Si les alertes són configurades, també rebreu la notificació del problema.

6. Canvieu el valor macro al seu valor anterior per resoldre el problema i continuar monitorant el lloc web.

Veieu també

  • Creació d'un element - com començar a monitorar mètriques addicionals.
  • Escalat de problemes - com crear escenaris d'alerta de diverses passes (p. ex., primer enviar el missatge a l'administrador del sistema i després, si un problema no es resol en 45 minuts, enviar el missatge al gestor del centre de dades).
  • Elements del navegador - com configurar els elements del navegador.
  • Plantilla Lloc web per navegador - informació addicional sobre la plantilla Website by Browser.