[comment]: # ({734ebac5-734ebac5})
# 9 Web monitoring

[comment]: # ({/734ebac5-734ebac5})

[comment]: # ({7966aaaa-f37bc18c})
#### Übersicht

Mit Zabbix können Sie mehrere Verfügbarkeitsaspekte von Websites überprüfen.

::: noteimportant
Für die Durchführung des Web-Monitorings muss der Zabbix-Server
zunächst mit [konfiguriert](/manual/installation/install#from-the-sources)
werden und cURL- (libcurl-) Unterstützung besitzen.
:::

Um das Web-Monitoring zu aktivieren, müssen Sie Web-Szenarien definieren. Ein Web-Szenario besteht aus einer oder mehreren HTTP-Anfragen oder "Schritten". Die Schritte werden vom Zabbix-Server in einer vordefinierten Reihenfolge regelmäßig ausgeführt. Wird ein Host über einen Proxy überwacht, werden die Schritte vom Proxy ausgeführt.

Web-Szenarien werden Hosts/Vorlagen auf dieselbe Weise wie Datenpunkte, Auslöser usw. zugeordnet. Das bedeutet, dass Web-Szenarien auch auf Vorlagenebene erstellt und dann in einem Schritt auf mehrere Hosts angewendet werden können.

Die folgenden Informationen werden in jedem Web-Szenario erfasst:

-   durchschnittliche Download-Geschwindigkeit pro Sekunde für alle Schritte des gesamten Szenarios
-   Nummer des fehlgeschlagenen Schritts
-   letzte Fehlermeldung

Die folgenden Informationen werden in jedem Web-Szenario-Schritt erfasst:

-   Download-Geschwindigkeit pro Sekunde
-   Antwortzeit
-   Antwortcode

Weitere Details finden Sie unter [Web-Monitoring-Datenpunkte](/manual/web_monitoring/items).

Die aus der Ausführung von Web-Szenarien erfassten Daten werden in der Datenbank gespeichert. Die Daten werden automatisch für Diagramme, Auslöser und Benachrichtigungen verwendet.

Zabbix kann außerdem prüfen, ob eine abgerufene HTML-Seite eine vordefinierte Zeichenfolge enthält. Es kann eine simulierte Anmeldung ausführen und einem Pfad simulierter Mausklicks auf der Seite folgen.

Das Zabbix-Web-Monitoring unterstützt sowohl HTTP als auch HTTPS. Beim Ausführen eines Web-Szenarios folgt Zabbix optional Weiterleitungen (siehe unten die Option *Weiterleitungen folgen*). Die maximale Anzahl an Weiterleitungen ist fest auf 10 codiert (unter Verwendung der cURL-Option
[CURLOPT\_MAXREDIRS](http://curl.haxx.se/libcurl/c/CURLOPT_MAXREDIRS.html)).
Alle Cookies werden während der Ausführung eines einzelnen Szenarios beibehalten.

[comment]: # ({/7966aaaa-f37bc18c})

[comment]: # ({1166cfed-f007debe})
#### Konfigurieren eines web scenario

So konfigurieren Sie ein web scenario:

-   Gehen Sie zu: *Datenerfassung → Hosts* (oder *Vorlagen*)
-   Klicken Sie in der Zeile des Hosts/der Vorlage auf *Web*
-   Klicken Sie rechts auf *Web scenario erstellen* (oder auf den Namen des Szenarios, um ein vorhandenes Szenario zu bearbeiten)
-   Geben Sie die Parameter des Szenarios im Formular ein

Auf der Registerkarte **Szenario** können Sie die allgemeinen Parameter eines web scenario konfigurieren.

![](../../assets/en/manual/config/scenario.png)

Alle Pflichtfelder sind mit einem roten Sternchen markiert.

Szenario-Parameter:

|Parameter|Beschreibung|
|--|--------|
|*Name*|Eindeutiger Name des Szenarios.<br>[Benutzermakros](/manual/config/macros/user_macros) werden unterstützt. *Hinweis*: Wenn Benutzermakros verwendet werden, bleiben diese Makros in den Namen von [web monitoring item](/manual/web_monitoring/items) unaufgelöst.|
|*Update-Intervall*|Wie oft das Szenario ausgeführt wird.<br>[Zeitsuffixe](/manual/appendix/suffixes) werden unterstützt, z. B. 30s, 1m, 2h, 1d.<br>[Benutzermakros](/manual/config/macros/user_macros) werden unterstützt. *Hinweis*: Wenn ein Benutzermakro verwendet wird und sein Wert geändert wird (z. B. 5m → 30s), wird die nächste Prüfung gemäß dem vorherigen Wert ausgeführt (im Beispiel also weiter in der Zukunft). <br> Neue web scenarios werden innerhalb von 60 Sekunden nach ihrer Erstellung geprüft.|
|*Versuche*|Die Anzahl der Versuche zur Ausführung von Schritten des web scenario. Bei Netzwerkproblemen (Timeout, keine Verbindung usw.) kann Zabbix die Ausführung eines Schritts mehrmals wiederholen. Der festgelegte Wert wirkt sich gleichermaßen auf jeden Schritt des Szenarios aus. Es können bis zu 10 Versuche angegeben werden, der Standardwert ist 1.<br>*Hinweis*: Zabbix wiederholt einen Schritt nicht aufgrund eines falschen Antwortcodes oder einer Nichtübereinstimmung mit einer erforderlichen Zeichenfolge.|
|*Agent*|Wählen Sie einen Client-Agent aus.<br>Zabbix gibt vor, der ausgewählte Browser zu sein. Dies ist nützlich, wenn eine Website für verschiedene Browser unterschiedliche Inhalte zurückgibt.<br>In diesem Feld können Benutzermakros verwendet werden.|
|*HTTP-Proxy*|Sie können einen zu verwendenden HTTP-Proxy im Format `[protocol://][username[:password]@]proxy.example.com[:port]` angeben.<br>Dies setzt die cURL-Option [CURLOPT\_PROXY](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html).<br>Das optionale Präfix `protocol://` kann verwendet werden, um alternative Proxy-Protokolle anzugeben (die Unterstützung des Protokollpräfixes wurde in cURL 7.21.7 hinzugefügt). Wenn kein Protokoll angegeben ist, wird der Proxy als HTTP-Proxy behandelt.<br>Standardmäßig wird Port 1080 verwendet.<br>Falls angegeben, überschreibt der Proxy proxybezogene Umgebungsvariablen wie http\_proxy, HTTPS\_PROXY. Falls nicht angegeben, überschreibt der Proxy keine proxybezogenen Umgebungsvariablen. Der eingegebene Wert wird unverändert übernommen, es findet keine Plausibilitätsprüfung statt.<br>Sie können auch eine SOCKS-Proxy-Adresse eingeben. Wenn Sie das falsche Protokoll angeben, schlägt die Verbindung fehl und der Datenpunkt wird nicht unterstützt.<br>*Hinweis*: Mit HTTP-Proxy wird nur einfache Authentifizierung unterstützt.<br>In diesem Feld können Benutzermakros verwendet werden.|
|*Variablen*|Variablen, die in Schritten des Szenarios verwendet werden können (URL, Post-Variablen).<br>Sie haben das folgende Format:<br>**{macro1}**=value1<br>**{macro2}**=value2<br>**{macro3}**=regex:<regular expression><br>**{macro4}**=jsonpath:<jsonpath><br>**{macro5}**=xmlxpath:<xmlxpath><br>**{macro6}**={{macro}.function()} (siehe [Makrofunktionen](/manual/config/macros/macro_functions)).<br>*Hinweis*: Die Verwendung von JSONPath, XML XPath und Makrofunktionen in Variablen wird seit Zabbix 7.0.4 unterstützt.<br>Beispiel:<br>{username}=Alexei<br>{password}=kj3h5kJ34bd<br>{hostid}=regex:hostid is (\[0-9\]+)<br>{url}=jsonpath:$.host_url<br>{status}=xmlxpath://host/response/status<br>{newvar}={{myvar}.btoa()}<br>Die Makros können dann in den Schritten als {username}, {password}, {hostid} usw. referenziert werden. Zabbix ersetzt sie automatisch durch die tatsächlichen Werte. Beachten Sie, dass Variablen mit `regex:` einen Schritt benötigen, um den Wert des regulären Ausdrucks zu erhalten, sodass der extrahierte Wert nur auf den darauffolgenden Schritt angewendet werden kann.<br>Wenn der Wertteil mit `regex:` beginnt, wird der Teil danach als regulärer Ausdruck behandelt, der die Webseite durchsucht und, falls gefunden, die Übereinstimmung in der Variablen speichert. Es muss mindestens eine Untergruppe vorhanden sein, damit der übereinstimmende Wert extrahiert werden kann.<br>Benutzermakros und [Makros](/manual/appendix/macros/supported_by_location) vom Typ {HOST.\*} werden unterstützt.<br>Variablen werden bei der Verwendung in Abfragefeldern oder Formulardaten für Post-Variablen automatisch URL-codiert, müssen jedoch bei Verwendung in Raw-Post-Daten oder direkt in der URL manuell URL-codiert werden.|
|*Header*|HTTP-Header werden bei der Ausführung einer Anfrage verwendet. Standard- und benutzerdefinierte Header können verwendet werden.<br>Header werden anhand der Standardeinstellungen zugewiesen, die je nach dem in einer Szenario-Ebene aus einer Dropdown-Liste ausgewählten Agent-Typ festgelegt sind, und gelten für alle Schritte, sofern sie nicht auf Schritt-Ebene benutzerdefiniert definiert werden.<br>**Beachten Sie, dass durch die Definition des Headers auf Schritt-Ebene alle zuvor definierten Header automatisch verworfen werden, mit Ausnahme eines Standard-Headers, der durch die Auswahl von 'User-Agent' aus einer Dropdown-Liste auf Szenario-Ebene zugewiesen wird.**<br>Allerdings kann auch der Standard-Header 'User-Agent' auf Schritt-Ebene überschrieben werden.<br>Um den Header auf Szenario-Ebene zu entfernen, sollte der Header auf Schritt-Ebene benannt und ohne Wert zugewiesen werden.<br>Header sollten mit derselben Syntax aufgeführt werden, wie sie im HTTP-Protokoll erscheinen würden, optional unter Verwendung einiger zusätzlicher Funktionen, die von der cURL-Option [CURLOPT\_HTTPHEADER](http://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html) unterstützt werden.<br>Beispiel:<br>Accept-Charset=utf-8<br>Accept-Language=en-US<br>Content-Type=application/xml; charset=utf-8<br>Benutzermakros und [Makros](/manual/appendix/macros/supported_by_location) vom Typ {HOST.\*} werden unterstützt.|
|*Aktiviert*|Das Szenario ist aktiv, wenn dieses Kontrollkästchen aktiviert ist, andernfalls - deaktiviert.|

Beachten Sie, dass beim Bearbeiten eines vorhandenen Szenarios zwei zusätzliche Schaltflächen im Formular verfügbar sind:

|   |   |
|--|--------|
|![](../../assets/en/manual/web_monitoring/buttons_clone.png)|Erstellt ein weiteres Szenario auf Grundlage der Eigenschaften des vorhandenen Szenarios.|
|![](../../assets/en/manual/web_monitoring/buttons_clear.png)|Löscht Verlaufs- und Trenddaten für das Szenario. Dadurch führt der Server das Szenario unmittelbar nach dem Löschen der Daten aus.|

::: notetip
Wenn das Feld *HTTP-Proxy* leer gelassen wird, besteht eine weitere Möglichkeit zur Verwendung eines HTTP-Proxys darin, proxybezogene Umgebungsvariablen festzulegen.

Für HTTP-Prüfungen - setzen Sie die Umgebungsvariable **http\_proxy** für den Benutzer des Zabbix-Servers. Zum Beispiel:
`http_proxy=http://proxy_ip:proxy_port`.

Für HTTPS-Prüfungen - setzen Sie die Umgebungsvariable **HTTPS\_PROXY**. Zum Beispiel: `HTTPS_PROXY=http://proxy_ip:proxy_port`. Weitere Details erhalten Sie mit dem Shell-Befehl: *\# man curl*.
:::

Die Registerkarte **Schritte** ermöglicht es Ihnen, die Schritte des web scenario zu konfigurieren. Um einen Schritt für ein web scenario hinzuzufügen, klicken Sie im Block *Schritte* auf *Hinzufügen*.

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

::: noteclassic
Geheime [Benutzermakros](/manual/config/macros/user_macros#configuration) dürfen nicht in URLs verwendet werden, da sie zu "\*\*\*\*\*\*" aufgelöst werden.
:::

[comment]: # ({/1166cfed-f007debe})

[comment]: # ({c406e61a-74c8baab})
#### Konfigurieren von Schritten

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

Schrittparameter:

|Parameter|Beschreibung|
|--|--------|
|*Name*|Eindeutiger Schrittname.<br>[Benutzermakros](/manual/config/macros/user_macros) werden unterstützt. *Beachten Sie*, dass diese Makros bei Verwendung in Namen von [web monitoring Datenpunkten](/manual/web_monitoring/items) nicht aufgelöst werden.|
|*URL*|URL, zu der eine Verbindung hergestellt und von der Daten abgerufen werden.<br>Zum Beispiel:<br>https://www.example.com<br>http://www.example.com/download<br>Domainnamen können mit Unicode-Zeichen angegeben werden. Sie werden bei der Ausführung des Webszenario-Schritts automatisch per Punycode in ASCII umgewandelt.<br>Mit der Schaltfläche *Parse* können optionale Abfragefelder (wie ?name=Admin&password=mypassword) von der URL getrennt werden; Attribute und Werte werden dabei in *Abfragefelder* verschoben, um automatisch URL-kodiert zu werden.<br>Variablen können in der URL mit der Syntax {macro} verwendet werden. Variablen können manuell URL-kodiert werden, indem die Syntax {{macro}.urlencode()} verwendet wird.<br>Benutzermakros und {HOST.\*}-[Makros](/manual/appendix/macros/supported_by_location) werden unterstützt.<br>Begrenzt auf 2048 Zeichen.|
|*Query fields*|HTTP-GET-Variablen für die URL.<br>Als Attribut-Wert-Paare angegeben.<br>Werte werden automatisch URL-kodiert. Werte aus Szenariovariablen, Benutzermakros oder {HOST.\*}-Makros werden aufgelöst und anschließend automatisch URL-kodiert. Bei Verwendung der Syntax {{macro}.urlencode()} werden sie doppelt URL-kodiert.<br>Benutzermakros und {HOST.\*}-[Makros](/manual/appendix/macros/supported_by_location) werden unterstützt.|
|*Post*|HTTP-POST-Variablen.<br>Im Modus **Form data** als Attribut-Wert-Paare angegeben.<br>Werte werden automatisch URL-kodiert. Werte aus Szenariovariablen, Benutzermakros oder {HOST.\*}-Makros werden aufgelöst und anschließend automatisch URL-kodiert.<br>Im Modus **Raw data** werden Attribute/Werte in einer einzelnen Zeile angezeigt und mit dem Symbol **&** verkettet.<br>Rohwerte können manuell URL-kodiert/-dekodiert werden, indem die Syntax {{macro}.urlencode()} oder {{macro}.urldecode()} verwendet wird.<br>Zum Beispiel: id=2345&userid={user}<br>Wenn {user} als Variable des Webszenarios definiert ist, wird sie bei der Ausführung des Schritts durch ihren Wert ersetzt. Wenn Sie die Variable URL-kodieren möchten, ersetzen Sie {user} durch {{user}.urlencode()}.<br>Benutzermakros und {HOST.\*}-[Makros](/manual/appendix/macros/supported_by_location) werden unterstützt.|
|*Variables*|Variablen auf Schrittebene, die für GET- und POST-Funktionen verwendet werden können.<br>Als Attribut-Wert-Paare angegeben.<br>Variablen auf Schrittebene überschreiben Variablen auf Szenarioebene oder Variablen aus dem vorherigen Schritt. Der Wert einer Variablen auf Schrittebene wirkt sich jedoch nur auf den folgenden Schritt aus (und nicht auf den aktuellen Schritt).<br>Sie haben das folgende Format:<br>**{macro}**=value<br>**{macro}**=regex:<regular expression><br>Weitere Informationen finden Sie in der Variablenbeschreibung auf [Szenario-](web_monitoring#configuring-a-web-scenario)Ebene.<br>Variablen werden automatisch URL-kodiert, wenn sie in Abfragefeldern oder Formulardaten für POST-Variablen verwendet werden, müssen jedoch manuell URL-kodiert werden, wenn sie in rohen POST-Daten oder direkt in der URL verwendet werden.|
|*Headers*|Benutzerdefinierte HTTP-Header, die beim Ausführen einer Anfrage gesendet werden.<br>Als Attribut-Wert-Paare angegeben.<br>Ein auf Schrittebene definierter Header wird für diesen bestimmten Schritt verwendet.<br>**Beachten Sie, dass das Definieren eines Headers auf Schrittebene automatisch alle zuvor definierten Header verwirft, mit Ausnahme eines Standard-Headers, der durch Auswahl von 'User-Agent' in einer Dropdown-Liste auf Szenarioebene zugewiesen wird.**<br>Der Standard-Header 'User-Agent' kann jedoch ebenfalls überschrieben werden, indem er auf Schrittebene angegeben wird.<br>Wenn Sie beispielsweise einem Header einen Namen zuweisen, aber keinen Wert festlegen, wird der Standard-Header auf Szenarioebene entfernt.<br>Benutzermakros und {HOST.\*}-Makros werden unterstützt.<br>Dies setzt die cURL-Option [CURLOPT\_HTTPHEADER](http://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html).|
|*Follow redirects*|Aktivieren Sie das Kontrollkästchen, um HTTP-Weiterleitungen zu folgen.<br>Dies setzt die cURL-Option [CURLOPT\_FOLLOWLOCATION](http://curl.haxx.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html).|
|*Retrieve mode*|Wählen Sie den Abrufmodus:<br>**Body** - nur den Body aus der HTTP-Antwort abrufen<br>**Headers** - nur die Header aus der HTTP-Antwort abrufen<br>**Body and headers** - Body und Header aus der HTTP-Antwort abrufen|
|*Timeout*|Zabbix verwendet nicht mehr als die festgelegte Zeit für die Verarbeitung der URL (von einer Sekunde bis maximal 1 Stunde). Tatsächlich definiert dieser Parameter die maximale Zeit für den Verbindungsaufbau zur URL und die maximale Zeit für die Ausführung einer HTTP-Anfrage. Daher verwendet Zabbix für den Schritt nicht mehr als **2 x Timeout** Sekunden.<br>[Zeitsuffixe](/manual/appendix/suffixes) werden unterstützt, z. B. 30s, 1m, 1h. [Benutzermakros](/manual/config/macros/user_macros) werden unterstützt.|
|*Required string*|Erforderliches Muster für reguläre Ausdrücke.<br>Wenn der abgerufene Inhalt (HTML) nicht mit dem erforderlichen Muster übereinstimmt, schlägt der Schritt fehl. Wenn leer, wird keine Prüfung der erforderlichen Zeichenfolge durchgeführt.<br>Zum Beispiel:<br>Homepage of Zabbix<br>Welcome.\*admin<br>*Hinweis*: Die Referenzierung von [regulären Ausdrücken](regular_expressions), die im Zabbix Frontend erstellt wurden, wird in diesem Feld nicht unterstützt.<br>Benutzermakros und {HOST.\*}-[Makros](/manual/appendix/macros/supported_by_location) werden unterstützt.|
|*Required status codes*|Liste der erwarteten HTTP-Statuscodes. Wenn Zabbix einen Code erhält, der nicht in der Liste enthalten ist, schlägt der Schritt fehl.<br>Wenn leer, wird keine Prüfung der Statuscodes durchgeführt.<br>Zum Beispiel: 200,201,210-299<br>Benutzermakros werden unterstützt.|

::: noteclassic
Änderungen an Webszenario-Schritten werden erst gespeichert, wenn
das gesamte Szenario gespeichert wird.
:::

Siehe auch ein [Praxisbeispiel](/manual/web_monitoring/example), wie
Schritte der Webüberwachung konfiguriert werden können.

[comment]: # ({/c406e61a-74c8baab})

[comment]: # ({6f40ea68-6f40ea68})
#### Tags konfigurieren

Auf der Registerkarte **Tags** können [Tags](/manual/config/tagging) auf Szenarioebene definiert werden.

![](../../assets/en/manual/config/scenario_c.png)

Mithilfe von Tags können Webszenarien und Web-Monitoring-[Datenpunkte](/manual/web_monitoring/items) gefiltert werden.

[comment]: # ({/6f40ea68-6f40ea68})

[comment]: # ({b880b77b-4cce2d90})
#### Konfiguration der Authentifizierung

Die Registerkarte **Authentifizierung** ermöglicht es Ihnen, die Authentifizierungsoptionen des Szenarios zu konfigurieren. Ein grüner Punkt neben dem Namen der Registerkarte zeigt an, dass eine Art von HTTP-Authentifizierung aktiviert ist.

![](../../assets/en/manual/config/scenario_d.png)

Authentifizierungsparameter:

|Parameter|Beschreibung|
|--|--------|
|*HTTP authentication*|Wählen Sie die Authentifizierungsoption aus:<br>**None** - keine Authentifizierung verwendet;<br>**Basic** - einfache Authentifizierung wird verwendet;<br>**NTLM** - NTLM- ([Windows NT LAN Manager](http://en.wikipedia.org/wiki/NTLM)) Authentifizierung wird verwendet;<br>**Kerberos** - Kerberos-Authentifizierung wird verwendet (siehe auch: [Konfiguration von Kerberos mit Zabbix](/manual/appendix/items/kerberos));<br>**Digest** - Digest-Authentifizierung wird verwendet.|
|*User*|Geben Sie den Benutzernamen ein (bis zu 255 Zeichen).<br>Dieses Feld ist verfügbar, wenn *HTTP authentication* auf Basic, NTLM, Kerberos oder Digest gesetzt ist. Benutzermakros werden unterstützt. |
|*Password*|Geben Sie das Benutzerpasswort ein (bis zu 255 Zeichen).<br>Dieses Feld ist verfügbar, wenn *HTTP authentication* auf Basic, NTLM, Kerberos oder Digest gesetzt ist. Benutzermakros werden unterstützt. |
|*SSL verify peer*|Aktivieren Sie das Kontrollkästchen, um das SSL-Zertifikat des Webservers zu überprüfen.<br>Das Serverzertifikat wird automatisch aus dem systemweiten Speicherort der Zertifizierungsstelle (CA) übernommen. Sie können den Speicherort der CA-Dateien mit dem Konfigurationsparameter [SSLCALocation](/manual/appendix/config/zabbix_server#sslcalocation) des Zabbix-Servers oder Proxy überschreiben.<br>Damit wird die cURL-Option [CURLOPT\_SSL\_VERIFYPEER](http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html) gesetzt.|
|*SSL verify host*|Aktivieren Sie das Kontrollkästchen, um zu überprüfen, ob das Feld *Common Name* oder das Feld *Subject Alternate Name* des Webserver-Zertifikats übereinstimmt.<br>Damit wird die cURL-Option [CURLOPT\_SSL\_VERIFYHOST](http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html) gesetzt.|
|*SSL certificate file*|Name der SSL-Zertifikatsdatei, die für die Client-Authentifizierung verwendet wird. Die Zertifikatsdatei muss im PEM^1^-Format vorliegen. Wenn die Zertifikatsdatei auch den privaten Schlüssel enthält, lassen Sie das Feld *SSL key file* leer. Wenn der Schlüssel verschlüsselt ist, geben Sie das Passwort im Feld *SSL key password* an. Das Verzeichnis, das diese Datei enthält, wird durch den Konfigurationsparameter [SSLCertLocation](/manual/appendix/config/zabbix_server) des Zabbix-Servers oder Proxy angegeben.<br>`HOST.*`-Makros und Benutzermakros können in diesem Feld verwendet werden.<br>Damit wird die cURL-Option [CURLOPT\_SSLCERT](http://curl.haxx.se/libcurl/c/CURLOPT_SSLCERT.html) gesetzt.|
|*SSL key file*|Name der SSL-Datei mit dem privaten Schlüssel, die für die Client-Authentifizierung verwendet wird. Die Datei mit dem privaten Schlüssel muss im PEM^1^-Format vorliegen. Das Verzeichnis, das diese Datei enthält, wird durch den Konfigurationsparameter [SSLKeyLocation](/manual/appendix/config/zabbix_server) des Zabbix-Servers oder Proxy angegeben.<br>`HOST.*`-Makros und Benutzermakros können in diesem Feld verwendet werden.<br>Damit wird die cURL-Option [CURLOPT\_SSLKEY](http://curl.haxx.se/libcurl/c/CURLOPT_SSLKEY.html) gesetzt.|
|*SSL key password*|Passwort der SSL-Datei mit dem privaten Schlüssel.<br>Benutzermakros können in diesem Feld verwendet werden.<br>Damit wird die cURL-Option [CURLOPT\_KEYPASSWD](http://curl.haxx.se/libcurl/c/CURLOPT_KEYPASSWD.html) gesetzt.|

::: noteimportant
 \[1\] Zabbix unterstützt Zertifikats- und private Schlüsseldateien nur im PEM-Format. Falls Sie Ihre Zertifikats- und privaten Schlüsseldaten in einer Datei im PKCS \#12-Format haben (üblicherweise mit der Erweiterung \*.p12 oder \*.pfx), können Sie daraus mit den folgenden Befehlen die PEM-Datei erzeugen:

    openssl pkcs12 -in ssl-cert.p12 -clcerts -nokeys -out ssl-cert.pem
    openssl pkcs12 -in ssl-cert.p12 -nocerts -nodes  -out ssl-cert.key


:::

::: noteclassic
 Der Zabbix-Server übernimmt Änderungen an Zertifikaten ohne einen Neustart. 
:::

::: noteclassic
 Wenn Sie das Client-Zertifikat und den privaten Schlüssel in einer einzigen Datei haben, geben Sie diese einfach im Feld "SSL certificate file" an und lassen Sie das Feld "SSL key file" leer. Zertifikat und Schlüssel müssen dennoch im PEM-Format vorliegen. Das Zusammenführen von Zertifikat und Schlüssel ist einfach:

    cat client.crt client.key > client.pem


:::

[comment]: # ({/b880b77b-4cce2d90})

[comment]: # ({f2d5e43e-ae869848})
#### Anzeige

Um für einen Host konfigurierte Web-Szenarien anzuzeigen, gehen Sie zu *Monitoring → Hosts*, suchen Sie den Host in der Liste und klicken Sie in der letzten Spalte auf den Hyperlink *Web*. Klicken Sie auf den Namen des Szenarios, um detaillierte Informationen zu erhalten.

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

Eine Übersicht über Web-Szenarien kann auch in *Dashboards* über das Widget zur Webüberwachung angezeigt werden.

Die neuesten Ergebnisse der Ausführung des Web-Szenarios sind im Abschnitt *Monitoring → Latest data* verfügbar.

[comment]: # ({/f2d5e43e-ae869848})

[comment]: # ({1520b096-42ab5787})
#### Erweiterte Überwachung

Manchmal ist es notwendig, den empfangenen Inhalt einer HTML-Seite zu protokollieren.  
Dies ist besonders nützlich, wenn ein Schritt eines Web-Szenarios fehlschlägt.  
Dafür dient Debug-Level 5 (trace).  
Dieses Level kann in den Konfigurationsdateien von [Server](/manual/appendix/config/zabbix_server#debuglevel) und [Proxy](/manual/appendix/config/zabbix_proxy#debuglevel) oder über eine [Laufzeitsteuerung](/manual/concepts/server#runtime-control) mit der Option (`-R log_level_increase="http poller,N"`, wobei N die Prozessnummer ist) gesetzt werden.  
Die folgenden Beispiele zeigen, wie die erweiterte Überwachung gestartet werden kann, sofern Debug-Level 4 bereits gesetzt ist:

    # Protokollierungsstufe aller HTTP-Poller erhöhen:
    zabbix_server -R log_level_increase="http poller"

    # Protokollierungsstufe des zweiten HTTP-Pollers erhöhen:
    zabbix_server -R log_level_increase="http poller,2"

Wenn die erweiterte Web-Überwachung nicht erforderlich ist, kann sie mit der
Option `-R log_level_decrease` gestoppt werden.

[comment]: # ({/1520b096-42ab5787})
