Webserver (HTTP, HTTPS) Sensoren
Das HTTP-Protokoll (Hypertext Transfer Protocol) ist das am häufigsten im World Wide Web verwendete Protokoll. Mit dessen Hilfe greifen Browser auf Webserver zu und rufen Webseiten, Grafiken etc. ab. Mit PRTG können Sie die Leistung und Verfügbarkeit Ihres Webservers überwachen.
Überblick: Verschiedene HTTP Sensortypen
PRTG bietet folgende HTTP-basierte Sensoren zur Überwachung von Webservern an:
- HTTP: Überwacht einen Webserver über das HTTP-Protokoll. Dies ist die einfachste Art um zu überwachen, ob eine Webseite (oder ein bestimmtes Webseitenelement) erreichbar ist.
- HTTP (Erweitert): Überwacht einen Webserver über das HTTP-Protokoll mit mehreren erweiterten Einstellungen (z.B. um den Inhalt einer Webseite zu überprüfen, für Authentisierung oder bei der Verwendung eines Proxyservers).
- HTTP (Transaktion): Überwacht einen Webserver mit Hilfe einer URL-Liste um zu überprüfen, ob Logins oder Warenkörbe funktionieren. Hierfür müssen Sie eine Serie von URLs (GET- und/oder POST-Anfragen) zur Verfügung stellen, inklusive der notwendigen Parameter zur Überwachung einer Transaktion.
- HTTP (Inhalt): Überwacht den Rückgabewert einer HTTP-Anforderung. Dieser Sensor fragt eine HTTP-URL ab und sucht in der empfangenen Antwort einen oder mehrere Wert(e) in eckigen Klammern. Dies wird hauptsächlich im Zusammenhang mit Skripten verwendet, die auf einem Server ausgeführt werden.
- HTTP (Sensor für komplette Webseiten): Überwacht die gesamte Download-Zeit einer Webseite, inklusive aller Bilder etc. (nutzt den Internet Explorer für das Herunterladen einer kompletten Seite).
Alle Sensoren unterstützen HTTP und HTTPS.
Gemeinsame Einstellungen - HTTP-Sensoren
Alle HTTP-Sensoren beinhalten diese HTTP-spezifischen Einstellungen:
- Timeout: Zeit in Sekunden, nach der eine Anfrage abgebrochen wird.
- URL: Die URL-Adresse der zu überwachenden Webseite (inklusive des Zusatzes http://). Siehe Abschnitt "Intelligente URL-Ersetzung" (unten) für weitere Optionen. Sie können hier auch die Adresse eines bestimmten Webseitenelements eingeben, zum Beispiel die URL zu einer JPG-Datei.
- Anforderungsmethode: Die HTTP-Anfrageart, die verwendet werden soll (GET, POST, HEAD). "GET" ruft die Webseite direkt auf, so wie wenn Sie im Internet surfen. Wenn Sie eine URL für ein Post-Formular überwachen möchten, wählen Sie "POST" und geben Sie die "Post-Daten" ein. Die "HEAD"-Methode fragt vom Webserver nur die HTTP-Kopfzeile ab, ohne die eigentliche Webseite. Obwohl dadurch aufgrund des niedrigeren Datentransfers Bandbreite gespart wird, wird diese Methode nicht empfohlen, da die gemessene Anfragezeit nicht derjenigen entspricht, die Ihre Benutzer erleben, und Sie deswegen bei zu langsamen Verbindungen oder Ausfallzeiten möglicherweise nicht benachrichtigt werden.
- Post-Daten: Wenn die POST-Anforderungsmethode verwendet wird, können Sie hier den Datenteil eingeben, der gesendet werden soll (hier ist kein XML erlaubt).
- SSL-Methode: Nur relevant, wenn Sie HTTPS verwenden. Wenn Sie eine HTTPS-URL verwenden und keine Verbindung zustande kommt, dann versuchen Sie es bitte mit einer anderen SSL-Methode.
Um eine einfache Webseite zu überwachen, wählen Sie einen einfachen "HTTP"-Sensor aus (für fortgeschrittenere HTTP-Sensoren siehe weiter unten). Geben Sie die URL ein (inklusive des Zusatzes http://) und belassen Sie die Anforderungsmethode "GET".
Intelligente URL-Ersetzung
Anstelle der vollständigen Adresse können Sie in das Feld "URL" auch nur das Protokoll eingeben, gefolgt von einem Doppelpunkt und drei Schrägstrichen (das heißt, Sie können entweder "http:///" oder "https:///" eingeben, oder sogar nur einen einfachen Schrägstrich "/" als Ersatz für "http:///"). PRTG wird dann automatisch die IP-Adresse bzw. den DNS-Namen des Gerätes vor den dritten Schrägstrich einfügen. Ob dies eine gültige URL ergibt, hängt ab von der IP-Adresse bzw. dem DNS-Namen, der für das Gerät eingetragen ist, auf dem der HTTP-Sensor angelegt ist.
Ein Beispiel: Sie haben ein Gerät mit dem DNS-Namen "paessler.com" angelegt und erstellen darauf einen HTTP-Sensor mit dem Wert "https:///" im URL-Feld. In diesem Fall wird PRTG daraus automatisch die URL "https://paessler.com/" generieren. Wenn Sie auf dem gleichen Gerät einen HTTP-Sensor mit dem Wert "/support" im URL-Feld erstellen, wird PRTG auf ähnliche Weise daraus die URL "http://paessler.com/support" generieren und überwachen.
In Kombination mit dem Klonen von Geräten macht es Ihnen die intelligente URL-Ersetzung leicht, viele ähnliche Geräte zu erstellen. (Bitte beachten Sie, dass die intelligente URL-Ersetzung nicht bei Sensoren funktioniert, die auf dem "Probe Device" angelegt sind.)
Anmerkungen zu HTTP (Erweitert) Sensoren
Für allgemeine Einstellungen konsultieren Sie bitte zunächst den Abschnitt "Gemeinsame Einstellungen - HTTP-Sensoren" (oben). Bei Verwendung des HTTP (Erweitert) Sensors können Sie zusätzlich die folgenden erweiterten Einstellungen eingeben (Sie können auch jedes dieser Felder leer lassen)::
- Inhalt: Aktivieren Sie "Änderungen überwachen", wenn Sie jede Änderung an der Datei unter der angegebenen URL überwachen möchten. Sie können diese Einstellung später kombinieren mit einem Änderungstrigger für Benachrichtigungen (Reiter "Benachrichtigungen" in den Sensoreinstellungen).
- Antwort muss enthalten: Wenn Sie hier eine Zeichenkette einfügen, wird der Sensor überprüfen, ob diese Zeichenkette Teil der HTML-Seite unter der angegebenen URL ist. Wenn ja, wird der Sensorstatus "OK" angezeigt. Anmerkung: Die Zeichen * und ? werden hier als Platzhalter verwendet, wobei * für kein Zeichen oder eine beliebige Anzahl von Zeichen und ? für genau ein beliebiges Zeichen steht (wie aus der Windows-Suche bekannt). Eine direkte Suche nach den Zeichen * und ? ist daher nicht möglich.
- Antwort darf nicht enthalten: Wenn Sie hier eine Zeichenkette einfügen, wird der Sensor überprüfen, ob diese Zeichenkette nicht Teil der HTML-Seite unter der angegebenen URL ist. Ist dies der Fall, wird der Sensorstatus "OK" angezeigt. Anmerkung: Die Zeichen * und ? werden hier als Platzhalter verwendet, wobei * für kein Zeichen oder eine beliebige Anzahl von Zeichen und ? für genau ein beliebiges Zeichen steht (wie aus der Windows-Suche bekannt). Eine direkte Suche nach den Zeichen * und ? ist daher nicht möglich.
- Download begrenzen: Um eine hohe Bandbreitenauslastung zu vermeiden, können Sie hier eine kB-Beschränkung eingeben, um die Daten zu begrenzen, die pro Anforderung maximal übertragen werden. Wenn Sie dies in Kombination mit der Einstellung "Antwort muss/darf nicht enthalten" verwenden, wird nur der Teil der HTML-Seite mit Ihrer Zeichenkette verglichen, der bis zum Erreichen der kB-Beschränkung heruntergeladen wurde.
- Authentisierung Benutzer/Kennwort: Wenn die Webseite unter der angegebenen URL eine Authentisierung benötigt, können Sie die Zugangsdaten hier eingeben. Bitte wählen Sie ebenfalls aus, ob die Webseite eine einfache HTTP-Authentisierung oder eine Windows-eigene NTLM-Authentisierung verwendet.
- Proxy: Wenn Sie die angegebenen URLs (unten) über einen bestimmten Proxy erreichen wollen oder müssen, können Sie die entsprechenden Informationen hier eintragen. Wir empfehlen die Verwendung von keinem Proxy, denn im Falle eines Verbindungsfehlers können Sie sonst nicht bestimmen, ob der Fehler vom Web- oder Proxyserver verursacht wird.
Für Tipps zur Konfiguration eines HTTP (Erweitert) Sensors, siehe Knowledge Base article zu "Transaction Sensors" (in englischer Sprache):
http://www.paessler.com/knowledgebase/en/topic/443
Anmerkungen zu HTTP (Transaktion) Sensoren
Dieser Sensor ist ein spezieller HTTP (Erweitert) Sensor. Statt einer einzigen URL können Sie mit ihm eine Reihe von URLs hintereinander überprüfen. Für einen HTTP (Transaktion) Sensor können Sie zusätzlich die folgenden Einstellungen vornehmen:
- Timeout: Diese HTTP-spezifische Einstellung definiert die Zeit, nach der die komplette Reihe von HTTP-Transaktionen abgebrochen wird. Wenn dies passiert, wird der Sensor für die gesamte Transaktion auf "Fehler" gesetzt.
- Timeout für eine einzelne URL: Mit dieser HTTP-spezifischen Einstellung legen Sie fest, nach welcher Zeit in Sekunden eine einzelne URL-Transaktion abgebrochen wird. Wenn dies passiert, wird der Sensor für die gesamte Transaktion auf "Fehler" gesetzt.
- Cookies verwenden: Wenn für eine der Transaktionen Cookies benötigt werden, aktivieren Sie diese Option. Wenn Sie sich nicht sicher sind, lassen Sie diese Option aktiviert.
- Authentisierung Benutzer/Kennwort: Wenn die Webseiten unter den angegebenen URLs (unten) eine Authentisierung benötigt, können Sie die Zugangsdaten hier eingeben. Bitte wählen Sie ebenfalls aus, ob die Webseite eine einfache HTTP-Authentisierung oder eine Windows-eigene NTLM-Authentisierung verwendet.
- Proxy: Wenn Sie die angegebenen URLs (unten) über einen bestimmten Proxy erreichen wollen oder müssen, können Sie die entsprechenden Informationen hier eintragen. Wir empfehlen die Verwendung von keinem Proxy, denn im Falle eines Verbindungsfehlers können Sie sonst nicht bestimmen, ob der Fehler vom Web- oder Proxyserver verursacht wird.
- Transaction URL #1 bis #10: In diese Felder können Sie bis zu zehn verschiedene URLs eingeben, die in einer Reihe abgefragt werden. Wenn alle Abfragen erfolgreich sind, wird der Sensor den Zustand "OK" anzeigen. Um die richtigen URLs für die Transaktionen herauszufinden, können Sie den Paessler URL Recorder verwenden und eine geeignete Liste von URLs erzeugen (siehe "Tools" am Ende dieses Abschnittes).
- Siehe "Gemeinsame Einstellungen - HTTP-Sensoren" und "Anmerkungen zu HTTP (Erweitert) Sensoren" (oben) für Informationen zu den anderen Feldern.
Für Beispiele wie Sie HTTP (Transaktion) Sensoren verwenden, siehe Knowledge Base Artikel zu "HTTP Content Sensor" (in englischer Sprache):
http://www.paessler.com/knowledgebase/en/tags/http-content-sensor/
Anmerkungen zu HTTP (Inhalt) Sensoren
Dieser Sensor fragt eine eine URL ab, unter der ein Skript läuft, und sucht in der empfangenen Antwort nach bestimmten Werten. In der Antwort, die das Skript sendet, muss jeder Wert in eckigen Klammern ("[ ]") eingeschlossen sein. Der Sensor behandelt dann jeden Wert in einem eigenen Kanal (es können ein oder mehrere Werte sein). Sie können diese Funktion im Zusammenhang mit einem Skript verwenden, das auf einem Webserver läuft. Gewöhnlich gibt Ihr Skript keine ganze HTML-Seite zurück, sondern nur eine Zeile mit den Ergebniswerten. Der Sensor analysiert in jedem Fall die Rückgabe und verwendet alles, was zwischen eckigen Klammern steht, als Wert für einen Kanal. Als Werte werden Nummern erwartet. Alle anderen Zeichen führen zum Wert Null ("0") für diesen Kanal.
Die häufigste Anwendung ist es, einen bestimmten Wert innerhalb eines Webservers zu überprüfen. Wenn Sie z.B. ein CGI-Skript auf einem Webserver laufen lassen, das ausschließlich den freien Speicherplatz auf der Festplatte des Servers und die aktuelle Prozessorauslastung zurück gibt (z.B. "[10222][12]" als Ergebnis), dann können Sie diese beiden Werte in zwei getrennten Kanälen des Sensors überwachen. Natürlich sind auch viele andere Anwendungsszenarien möglich.
Für allgemeine Einstellungen siehe "Gemeinsame Einstellungen - HTTP-Sensoren" (oben). Zusätzlich können Sie die folgenden Einstellungen vornehmen:
- URL des Skripts: Geben Sie die Adresse des Skriptes ein, von dem Sie die Ergebnisse abfragen möchten.
- Wertetyp: Geben Sie hier ein, welche Werte Ihr Skript zurück gibt. Sie können wählen zwischen Ganzzahl und Fließkomma.
- Anzahl der Kanäle: Geben Sie an, wieviele unterschiedliche Werte Ihr Skript zurück gibt. Beachten Sie: Jeder Wert muss in eckigen Klammern eingeschlossen werden und jeder Wert wird in einem eigenen Sensorkanal behandelt. Wenn Ihr Skript also z.B. "[10222][12]" als Ergebnis liefert, geben Sie bei Anzahl der Kanäle "2" ein, um beide Werte aufzunehmen. Wenn Ihr Skript weniger Werte als angegeben zurück liefert, löst das einen Fehler aus. Die Anzahl der Kanäle lässt sich nachträglich nicht mehr ändern.
- Inhalt: Aktivieren Sie "Änderungen überwachen", wenn Sie jede Änderung an den Werten überwachen möchten, die Ihr Skript zurück gibt. Sie können diese Einstellung in einem zweiten Schritt kombinieren mit einem Änderungstrigger für Benachrichtigungen (Reiter "Benachrichtigungen" in den Sensoreinstellungen).
- Bitte konsultieren Sie die Paessler Knowledge Base für Beispiele zur Verwendung dieses Sensors (Suche nach "HTTP Content sensor").
Anmerkungen zu HTTP (Sensor für komplette Webseiten)
Dieser Sensor verwendet den Internet Explorer, um eine Webseite vollständig zu laden, inklusive aller Bilder und Seitenelemente und überwacht dabei die Ladezeit der Seite. Bitte beachten Sie, dass nur die angegebene URL überwacht wird. Es werden keine Links verfolgt.
Was bedeutet es, wenn der HTTP-Sensor "OK" zeigt?
Der OK-Status eines HTTP-Sensors zeigt an, dass der Webserver ein HTTP-Ergebnis liefert, welches dem HTTP-Protokoll gemäß korrekt ist, und die URL verfügbar ist. Dies bedeutet, dass die Software des Webservers zwar in Betrieb ist, jedoch sagt es nichts über die Richtigkeit der Ergebnisse aus, d.h. die Webseite könnte Fehlermeldungen enthalten. Sie wissen also nicht, ob Makroprogramme etc. korrekt funktionieren, oder ob z.B. die Datenbank des Web Servers in Ordnung ist. Es wird daher zur zusätzlichen Funktionssicherheit empfohlen, auch den Inhalt einer Seite mit Hilfe von HTTP (Erweitert) zu überprüfen, und sich nicht ausschließlich auf den HTTP Sensor zu verlassen.
Was bedeutet es, wenn der HTTP-Sensor Fehler anzeigt?
Für den Ausfall eines HTTP-Sensors gibt es mannigfaltige Gründe. Neben den üblichen Verbindungsproblemen handelt es sich zumeist um interne Serverprobleme (Fehlermeldung mit den Kennzahlen 50x) und durch eine inkorrekte URL verursachte Probleme (Fehlermeldung 404, Seite kann nicht gefunden werden).
Bandbreitenprobleme und Logfile-Analyse
Wichtig: Vergessen Sie nicht, dass ein HTTP-Sensor erhebliche Bandbreitenauslastung verursacht, da es sich bei diesem Sensor um einen Typ handelt, der pro Anfrage sehr viele Bytes sendet (mitunter bis zu 1000 Mal mehr als eine Ping-Anfrage). Wenn Sie also für die Bandbreitennutzung (entweder Ihrer Verbindung oder für Ihren Webserver) bezahlen müssen, ist es ratsam, eine URL auszuwählen, die nur eine kleine HTML-Seite liefert. In den meisten LANs und Intranets stellt dies wahrscheinlich kein größeres Problem dar, aber die Bandbreitenauslastung sollte generell immer überwacht werden. Eine 25 Kbyte große Webseite in einminütigen Intervallen abzufragen generiert immerhin einen täglichen Datenverkehr von 36 MB bzw. mehr als ein Gigabyte im Monat.
Bedenken Sie bitte auch, dass die Überwachungsanfragen auch in der Log-Analyse Ihres Webservers auftauchen (innerhalb eines Monats belaufen sich die Anfragen bei einminütigem Intervall auf 43.200!). Sie sollten diese PRTG-Anfragen von einem Filter aussortieren lassen, bevor Sie die Logfiles analysieren. Dies kann mit Hilfe der IP-Adresse des Servers ausgeführt werden, auf dem PRTG läuft oder aber, indem Sie die Anfragen des PRTG-Browseragents herausfiltern lassen:
Mozilla/5.0 (compatible; PRTG Network Monitor Vxxxx; Windows)
Tools
Paessler URL Recorder: Ermittelt die URLs und die Postdata-Stränge, die ein Benutzer beim Surfen einer Reihe von URLs an den Webserver sendet - hilfreich beim Einsatz von Sensoren des Typs "HTTP (Transaktion)".
http://www.de.paessler.com/tools/