[comment]: # ({b1d937a1-f18b8ec4})
# 8 Websites mit Browser-Datenpunkten überwachen

[comment]: # ({/b1d937a1-f18b8ec4})

[comment]: # ({fc6e7bc8-eda05db8})
#### Einführung

Diese Seite führt Sie durch die Schritte, die erforderlich sind, um die grundlegende Überwachung von Websites mit Browser-Datenpunkten zu starten.

[comment]: # ({/fc6e7bc8-eda05db8})

[comment]: # ({b4ab39c1-0298d7f4})
**Für wen diese Anleitung gedacht ist**

Diese Anleitung richtet sich an neue Zabbix-Benutzer und enthält die minimale Anzahl an Schritten, die erforderlich sind, um die grundlegende Überwachung von Websites mit Browser-Datenpunkten zu aktivieren.
Wenn Sie nach umfassenden Anpassungsoptionen suchen oder eine erweiterte Konfiguration benötigen, lesen Sie die Seite [Browser-Datenpunkte](/manual/config/items/itemtypes/browser) oder den Abschnitt [Konfiguration](/manual/config) im Zabbix-Handbuch.

[comment]: # ({/b4ab39c1-0298d7f4})

[comment]: # ({7879a4ee-3a6a9a84})
**Voraussetzungen**

Bevor Sie mit dieser Anleitung fortfahren, müssen Sie den Zabbix Server und das Zabbix Frontend gemäß den Anweisungen für Ihr Betriebssystem [herunterladen und installieren](https://www.zabbix.com/download).

Abhängig von Ihrer Umgebung können einige Schritte in dieser Anleitung leicht abweichen.
Diese Anleitung basiert auf einer Umgebung mit Ubuntu.

[comment]: # ({/7879a4ee-3a6a9a84})

[comment]: # ({3498dadf-0b26bd12})
#### WebDriver konfigurieren

Browser-Datenpunkte benötigen ein Automatisierungs-Framework (entweder Selenium Server oder einen einfachen WebDriver, zum Beispiel ChromeDriver) als Endpunkt für Webtests, der einen Browser steuert und mit ihm interagiert und dabei Testbefehle wie das Klicken auf Schaltflächen oder die Eingabe von Text ausführt.
Als Beispiel wird in dieser Anleitung Selenium Server mit Chrome in einem Docker-Container verwendet.

Es wird vorausgesetzt, dass Docker bereits konfiguriert ist. Diese Anleitung behandelt die Konfiguration von Docker nicht.
Installationsanweisungen finden Sie unter [Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/).

1\. Starten Sie Selenium Server mit Chrome in einem Docker-Container mit den folgenden Optionen:

-   **docker run --name browser** - startet einen neuen Docker-Container mit dem Namen "browser";
-   **-p 4444:4444** - ordnet Port 4444 auf Ihrem Host-Rechner Port 4444 im Container zu (dies ist der Port, den Selenium Server zum Entgegennehmen von Befehlen verwendet);
-   **-p 7900:7900** - ordnet Port 7900 auf Ihrem Host-Rechner Port 7900 im Container zu (dies ist der Port, den der Virtual Network Computing (VNC)-Server verwendet, sodass Sie die Browser-GUI aus der Ferne anzeigen können; ein VNC-Client ist erforderlich);
-   **--shm-size="2g"** - weist dem Container 2 GB Shared Memory zu (dies ist wichtig, damit Chrome ordnungsgemäß ausgeführt werden kann, da es eine erhebliche Menge an Shared Memory benötigen kann, um Abstürze zu vermeiden);
-   **-d** - führt den Container im Detached-Modus aus, das heißt, er läuft im Hintergrund;
-   **selenium/standalone-chrome:latest** - gibt das zu verwendende Docker-Image an; in diesem Fall die neueste Version von [Selenium Server with Chrome](https://hub.docker.com/r/selenium/standalone-chrome).

```bash
docker run --name browser \
-p 4444:4444 \
-p 7900:7900 \
--shm-size="2g" \
-d selenium/standalone-chrome:latest
```

2\. Stellen Sie sicher, dass der Docker-Container `browser` läuft und erreichbar ist.

-   Ermitteln Sie die IP-Adresse des Containers (in diesem Beispiel 192.0.2.1):

```bash
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
#    ...
```

-   Testen Sie die Verbindung zum Container mit [Ncat](https://nmap.org/ncat/):

```bash
nc -zv 192.0.2.1 4444

# Connection to 192.0.2.1 4444 port [tcp/*] succeeded!
```

-   Rufen Sie den Inhalt der Webseite von Selenium Server mit [curl](https://curl.se/) ab:

```bash
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>
# ...
```

::: noteclassic
Zur Fehlerbehebung siehe die [Docker documentation](https://docs.docker.com/engine/).
:::

[comment]: # ({/3498dadf-0b26bd12})

[comment]: # ({538d8706-a02ee5f3})
#### Zabbix Server konfigurieren

Browser-Datenpunkte werden von *browser poller*-Zabbix-Prozessen ausgeführt und verarbeitet, die durch Anpassen des Server-Konfigurationsparameters [StartBrowserPollers](/manual/appendix/config/zabbix_server#startbrowserpollers) aktiviert werden müssen.
Zusätzlich sollte der Parameter [WebDriverURL](/manual/appendix/config/zabbix_server#webdriverurl) den zuvor konfigurierten Endpunkt für Webtests angeben.

Standardmäßig ist der Parameter StartBrowserPollers auf 1 gesetzt, daher müssen Sie nur den Endpunkt für Webtests angeben.

1\. Öffnen Sie die Zabbix-Server-Konfigurationsdatei.

```bash
vi /etc/zabbix/zabbix_server.conf
```

2\. Suchen Sie den Parameter [WebDriverURL](/manual/appendix/config/zabbix_server#webdriverurl) in der Zabbix-Server-Konfigurationsdatei und setzen Sie ihn:

```ini
### Option: WebDriverURL
#	WebDriver-Schnittstellen-HTTP[S]-URL. Zum Beispiel http://localhost:4444, verwendet mit dem eigenständigen Selenium WebDriver-Server.
#
# Mandatory: no
# Default:
# WebDriverURL=

WebDriverURL=192.0.2.1:4444
```

3\. Starten Sie den Zabbix Server neu.

```bash
systemctl restart zabbix-server
```

[comment]: # ({/538d8706-a02ee5f3})

[comment]: # ({5dcbc68f-6094e1b6})
#### Zabbix Frontend konfigurieren

1\. Melden Sie sich im Zabbix Frontend an.

2\. [Erstellen Sie einen Host](/manual/config/hosts/host) in der Zabbix-Weboberfläche:

- Geben Sie im Feld *Host name* einen Hostnamen ein (zum Beispiel "git.zabbix.com").
- Geben Sie im Feld *Templates* die Vorlage "Website by Browser" ein oder wählen Sie sie aus. Weitere Informationen zu dieser Vorlage finden Sie unter [Website by Browser](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/website_browser?at=refs%2Fheads%2Frelease%2F7.4).
- Geben Sie im Feld *Host groups* eine Hostgruppe ein oder wählen Sie sie aus (zum Beispiel eine neue Hostgruppe "Websites").

![](../../../assets/en/manual/guides/browser_host.png){width="600"}

- Wechseln Sie auf der Registerkarte *Macros* zu *Inherited and host macros*, suchen Sie nach den folgenden Makros und klicken Sie neben dem Makrowert auf *Change*, um ihn zu aktualisieren:
    - {$WEBSITE.DOMAIN} - Domänenname (zum Beispiel git.zabbix.com/projects/ZBX/repos/zabbix/browse)
    - {$WEBSITE.GET.DATA.INTERVAL} - Aktualisierungsintervall für Datenpunkte (zum Beispiel 15m)

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

3\. Klicken Sie auf die Schaltfläche *Add*, um den Host zu erstellen. Dieser Host wird die Website repräsentieren, die Sie überwachen möchten.

[comment]: # ({/5dcbc68f-6094e1b6})

[comment]: # ({b5c590c2-b09d6e6d})
#### Erfasste Metriken anzeigen

Herzlichen Glückwunsch! Zu diesem Zeitpunkt überwacht Zabbix bereits die von Ihnen angegebene Website.

Um die erfassten Metriken anzuzeigen, wechseln Sie zum Menüabschnitt [*Monitoring → Hosts*](/manual/web_interface/frontend_sections/monitoring/hosts) und klicken Sie neben dem Host auf *Dashboards*.

![](../../../assets/en/manual/guides/browser_monitored_hosts.png){width="600"}

Dadurch gelangen Sie zum Host-Dashboard (auf Vorlagenebene konfiguriert) mit den wichtigsten von der Website erfassten Metriken.

![](../../../assets/en/manual/guides/browser_dashboard.png){width="600"}

[comment]: # ({/b5c590c2-b09d6e6d})

[comment]: # ({4cead10e-11902dbb})
#### Problembenachrichtigungen einrichten

Zabbix kann Sie mit verschiedenen Methoden über ein Problem in Ihrer Infrastruktur benachrichtigen.
Diese Anleitung enthält grundlegende Konfigurationsschritte zum Senden von E-Mail-Benachrichtigungen.

1\. Navigieren Sie zu [*Benutzereinstellungen → Profil*](/manual/web_interface/user_profile), wechseln Sie zur Registerkarte *Medien* und [fügen Sie Ihre E-Mail-Adresse hinzu](/manual/quickstart/login#adding-user).

![](../../../assets/en/manual/quickstart/new_media.png){width="600"}

2\. Folgen Sie der Anleitung zum [Empfangen einer Problembenachrichtigung](/manual/quickstart/notification).

Wenn Zabbix das nächste Mal ein Problem erkennt, sollten Sie eine Benachrichtigung per E-Mail erhalten.

[comment]: # ({/4cead10e-11902dbb})

[comment]: # ({06163b26-7f332a36})
#### Testen Sie Ihre Konfiguration

Um Ihre Konfiguration zu testen, können wir ein echtes Problem simulieren, indem wir die Host-Konfiguration im Zabbix Frontend aktualisieren.

1\. Öffnen Sie Ihre Website-Host-Konfiguration in Zabbix.

2\. Wechseln Sie zur Registerkarte *Macros* und wählen Sie *Inherited and host macros*.

3\. Klicken Sie neben dem zuvor [konfigurierten](#configure-zabbix-frontend) Makrowert {$WEBSITE.DOMAIN} auf *Change* und setzen Sie einen falschen Domainnamen (zum Beispiel /git.zabbix.com/projects/ZBX/repos/zabbix/browse).

4\. Klicken Sie auf *Update*, um die Host-Konfiguration zu aktualisieren.

5\. In wenigen Augenblicken wird Zabbix das Problem „JSON der angeforderten Website konnte nicht abgerufen werden“ erkennen, da keine Verbindung zur angegebenen Website hergestellt werden kann.
Das Problem wird unter [*Monitoring → Problems*](/manual/web_interface/frontend_sections/monitoring/problems) angezeigt.

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

Wenn Benachrichtigungen [konfiguriert](#set-up-problem-alerts) sind, erhalten Sie außerdem eine Problembenachrichtigung.

6\. Ändern Sie den Makrowert wieder auf den vorherigen Wert zurück, um das Problem zu beheben und die Überwachung der Website fortzusetzen.

[comment]: # ({/06163b26-7f332a36})

[comment]: # ({458aaef8-5a9ff105})
#### Siehe auch

- [Erstellen eines Datenpunkts](/manual/config/items/item) - wie Sie mit der Überwachung zusätzlicher Metriken beginnen.
- [Problem-Eskalationen](/manual/config/notifications/action/escalations) - wie Sie mehrstufige Alarmszenarien erstellen
  (z. B. zuerst eine Nachricht an den Systemadministrator senden und dann, wenn ein Problem innerhalb von 45 Minuten nicht behoben wird, eine Nachricht an den Rechenzentrumsleiter senden).
- [Browser-Datenpunkte](/manual/config/items/itemtypes/browser) - wie Sie Browser-Datenpunkte konfigurieren.
- Vorlage [Website by Browser](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/website_browser?at=refs%2Fheads%2Frelease%2F7.4) - zusätzliche Informationen zur Vorlage *Website by Browser*.

[comment]: # ({/458aaef8-5a9ff105})
