So erstellen Sie Geräte und Ziele
Eine HTTP/S-Überwachung überprüft eine einzelne URL auf Verfügbarkeit, Leistung, ordnungsgemäßen Inhalt und Fehler. Es unterstützt alle gängigen Arten von Anfragen, Cookies, Formularübermittlungen, benutzerdefinierte Header, passwortgeschützte Websites (grundlegende HTTP/S-Autorisierung sowie Cookie-/Skript-Autorisierungsmechanismen) und Timeout-Schwellenwerte.
Die HTTP/S-Überwachung validiert Sicherheitszertifikate, prüft die Zertifizierungsstelle und führt Überprüfungen des Zertifikatablaufs durch. Es kann so konfiguriert werden, dass Sie daran erinnert werden, wenn sich das Ablaufdatum des Zertifikats nähert.
Sie können HTTP(S)-Anforderungsparameter in Kontextparameter konvertieren, um Werte zu übergeben, z. B. aus einer Antwort einer anderen Anforderung innerhalb des Überwachungsgeräts abgerufen. Sie können Kontextparameter für die URL, die Header, den Anforderungstext und die Vorbereitungs-/Postskripts einrichten. Weitere Informationen finden Sie unter Verwenden von Kontextparametern in HTTP(S)-Anforderungen.
Massenimport
Um die Überwachung für viele Geräte mit einem Klick zu erstellen, wählen Sie die Option Massenimport aus, die für den HTTP/S-Überwachungstyp auf der Seite Überwachungstyp auswählen bereitgestellt wird. Weitere Informationen finden Sie im Abschnitt Massenimport | Webseitenüberwachung, HTTP/S- und PING/ICMP-Geräte Artikel des Wikis.
Konfigurieren einer Anforderung
Url
Geben Sie die URL der Seite ein, auf der Sie die Aufgabe ausführen möchten. Es sollte als solches formatiert werden: www.example.com. Sie können einen visuell freundlichen Eingabemodus aktivieren, indem Sie oben im Abschnitt auf den detaillierter Enderaumklicken klicken.
SSL/Zertifikatsprüfung
Secure Socket Layer SSL Certificate Check ist ein Standardaspekt von HTTP(S)-Tests.
Folgende zusätzliche Optionen stehen zur Verfügung:
- Autorität: Überprüft, ob eine Zertifikatkette ein Stammzertifikat enthält, das vertrauenswürdig oder nicht vertrauenswürdig ist.
- Allgemeiner Name (Common Name, CN): Überprüft, ob eine Adresse, zu der Sie navigieren, mit dem Adresszertifikat übereinstimmt, für das die Adresse signiert wurde.
- Datum: überprüft das Ablaufdatum des Zertifikats.
- Widerruf: Überprüft, ob die Vertrauenskette des Zertifikats kein gesperrtes Zertifikat enthält.
- Verwendung: Überprüft eine Zertifikatkette für die unsachgemäße Verwendung eines Zwischenzertifikats.
- Ablauferinnerung in Tagen: eine Erinnerung, die (als Fehler) über den Ablauf des Zertifikats benachrichtigt wird.
- Clientzertifikat: Name des Clientzertifikats.
Siehe auch: Ziel-Hostname oder IP-Adresse.
Schwellenwert für die Zeitüberprüfung (in Sekunden)
Geben Sie die maximale Anzahl von Sekunden ein, die das System auf eine Antwort von der Webseite warten soll, bevor die Aufgabe beendet und ein Fehler zurückgegeben wird.
Der maximale Timeout-Wert ist auf 70 Sekunden begrenzt. Wenn der Schwellenwert nicht festgelegt ist, wird das standardmäßige Zeitlimit von 70 Sekunden auf die Aufgabe angewendet.
Anforderungstyp
Im Feld Anforderungstyp können Sie eine der am häufigsten verwendeten HTTP-Methoden auswählen, um Überwachungsanforderungen an eine Webseite zu senden. Wenn Sie eine Payload mit HTTP-Anfragen senden müssen, geben Sie sie in das entsprechende Feld ein (weitere Informationen finden Sie im Kapitel Request Body ). Die Nutzlast kann mit allen Arten von Anforderungen außer Trace (RFC2616) angegeben und gesendet werden.
URL-Umleitungen
Wenn die Option “Umleitung folgen” auf Jafestgelegt ist, folgt das System dem Pfad der URL, die mit der Antwort 301 gesendet wird, und betrachtet jede Umleitung als separate HTTP-Anforderung. Es ermöglicht Ihnen, die vollständige Umleitungskette (alle Links, durch die die Anforderung umgeleitet wird) in den Testergebnissen zu verfolgen, einschließlich Der Antwortzeiten sowohl für die ursprüngliche URL als auch für nachfolgende Antworten.
Es wird empfohlen, die Option “Weiterleiten folgen” aktiviert zu lassen, wenn Sie nicht nur die ursprüngliche URL, sondern alle URLs in der Kette testen müssen. Beispielsweise kann es nützlich sein, eine SSL-Zertifikatsprüfung für jede URL in einer Umleitungskette durchzuführen.
In Fällen, in denen Sie nur eine anfängliche URL testen möchten, deaktivieren Sie die Option Follow Redirects.
Inhaltsvalidierung
Content Validation Keywords werden verwendet, um sicherzustellen, dass der erwartete Inhalt auf eine Webseite geladen wurde. In den Feldern Keyword können Sie ein oder mehrere Wörter oder Ausdrücke angeben, nach denen Sie im Webseiteninhalt suchen möchten. Wenn die erwarteten Schlüsselwörter nicht gefunden werden, gibt die Aufgabe einen Fehler zurück.
Sie können mehrere Zeichenfolgen in die Schlüsselwortfelder eingeben. Die eingegebenen Werte können durch logische Ausdrücke wie folgt getrennt werden:
{[("keyword1"&"keyword2")|!"keyword3"]}
Wo:
[– Schlüsselwortausdrucksstart;
]- – Schlüsselwortausdrucksende;
() – Gruppieren von Klammern;
& – logisch UND;
| – logisches ODER;
! – logisches NICHT;
“string” – ein Schlüsselwort.
Ein erfolgreicher Schlüsselwortausdruck muss die Anfangs- und End-Brackets wie folgt enthalten:
{["keyword"]}
Standardauthentifizierung
Das Standardauthentifizierungsschema wird verwendet, um Benutzern den Zugriff auf Inhalte auf einigen Websites zu ermöglichen. Nach der Bereitstellung werden die Anmeldeinformationen zusammen mit dem Anforderungsheader an den Webserver übergeben.
- Benutzername: enthält einen Benutzernamen für die HTTP/S-Basis- oder Digest-Zugriffsauthentifizierung.
- Benutzerkennwort: enthält ein Kennwort für die HTTP/S-Basis- oder Digest-Zugriffsauthentifizierung.
Verwechseln Sie die Standardauthentifizierung nicht mit anderen Authentifizierungsschemata wie der Bearer Authentication, die Inhabertoken umfasst, und OAuth 2.0, das Zugriffstoken verwendet.
Weitere Informationen finden Sie in den Artikeln zu Benutzername und Kennwort für die Standardauthentifizierung und zur Überwachung von OAuth 2.0-basierten APIs.
Header
Die Option ermöglicht das Hinzufügen zusätzlicher benutzerdefinierter Header. Sie können z. B. den MIME-Typ der gesendeten Daten zusammen mit der Anforderung im Content-Type-Header definieren:
Content-Type: text/html
Wenn der Content-Type-Header nicht für die Anforderung angegeben ist, wird die Anforderung mit dem Standardinhaltstyp application/x-www-form-urlencodedgesendet.
Anforderungstext
Mit Dotcom-Monitor können Sie Nutzlasten in HTTP(S)-Anfragen (außer Trace-Anfragen) senden. Der Inhalt innerhalb des HTTP-Anforderungstextes kann als “Rohdaten” (JSON, XML usw.) oder als statische Namenswertsammlung (Formulardaten) gesendet werden.
Um mit einer Namenswertauflistung zu arbeiten, können Sie den detaillierten Eingabemodus aktivieren, indem Sie den Detaillierter-Switcher oben im Abschnitt verwenden und Anforderungsparameternamen und -werte im entsprechenden Feld angeben.
Um “Rohdaten” zusammen mit der Anforderung zu senden, z. B. ein JSON-Objekt, geben Sie Ihre JSON-Nutzlast in das Eingabefeld ein. Sie können den Anforderungstext auch dynamisch ändern. Wenn Sie z. B. das aktuelle Datum und die aktuelle Uhrzeit als Teil Ihrer POST-Anforderung senden oder die aktuelle Sitzungs-ID in der JSON-Nutzlast an einen Remoteserver übergeben müssen. Dotcom-Monitor ermöglicht das dynamische Ändern der Nutzlast von HTTP-Anforderungen mithilfe der Razor-Syntax und der Datenmasken.
-
Beispiel. Dynamischer JSON-Körper für HTTP-Post-Anforderungen
Um besser zu verstehen, wie Dynamic JSON-Körper in der HTTP-Anforderung funktioniert, werfen wir einen Blick auf das folgende Beispiel. Angenommen, wir müssen einen Auftrag auf einer Website einreichen, und die Übermittlungstransaktion umfasst drei grundlegende Schritte, die sequenziell ausgeführt werden:
- einloggen
- Check-in
- Auftragseinreichung
Um einen Test mit diesen Schritten einzurichten, die sequenziell ausgeführt werden, müssen wir drei HTTP-Tasks innerhalb eines Überwachungsgeräts (oder Auslastungstests, wenn Auslastungstests stattfinden) erstellen.
Nehmen wir an, dass wir die aktuelle Uhrzeit und eine eindeutige GUID in der JSON mit der HTTP-Anforderung senden müssen, um mit der Anwendung einzuchecken. Um eine Bestellung zu senden, ist außerdem eine Benutzersitzungs-ID erforderlich, die bei der Anmeldung generiert wird, und eine Bestellzeit, die von der Anwendung benötigt wird.
Um diesen Test zu implementieren, müssen wir zunächst eine Anmeldeanforderung mit grundlegenden Authentifizierungsparametern für den Webserver der Webanwendung konfigurieren. Als Nächstes müssen wir eine HTTP-Anforderung konfigurieren, um die tatsächliche Eincheckzeit und die eindeutige GUID zusammen mit einem JSON-Text zu übergeben. In diesem Beispiel geben wir die folgende Zeichenfolge mithilfe der Razor-Syntax im JSON-Text ein:
{ "CheckInTime": "@Model["CurrentTime"]", "GenGuid": "@Model["Guid"]" }
Wo @Model[” < Parametername > “] auf einen erforderlichen Kontextparameternamen im Razor-Ausdruck verweist.
Wir müssen die Kontextparameter deklarieren und angeben, wie die Post-Daten im Feld Skript vorbereiten verarbeitet werden sollen:
context.Guid = Guid.NewGuid().ToString(); // uniq random string context.CurrentTime = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd\\Thh:mm:ss") + ".0Z"; // get current time in UTC ProcessPostDataByRazor(currentTask); // the call to process the Post Data content with the Razor engine
Das Ergebnis HTTP-Anforderung sieht ähnlich wie folgt aus:
03:15:23 POST https://www.dotcom-monitor.com/CheckIn { "CheckInTime": "2021-03-30T08:15:22.0Z", "GenGuid": "5c5e3d23-66fd-49d0-bd57-62c516aea7e7" }
Im nächsten Schritt müssen wir die HTTP-Anforderung so konfigurieren, dass eine Bestellung übermittelt wird. Dazu geben wir die aktuelle Uhrzeit und Sitzungs-ID der Bestellung zusammen mit der Modell-Identifikationsnummer des Elements im JSON-Text an den Zielendpunkt weiter. Siehe jsON-Stelle für diese Anfrage unten:
{ "OrderTime": "@Model["OrderTime"]", "VIEWSTATE": "@Model["Session"]", "ModelID": "2128506" }
Um einen Wert der aktuellen Sitzungs-ID-Variablen zu übergeben, müssen wir ihn mithilfe der View State-Methode von der Anmeldeseite abrufen, die beim ersten Anmeldeschritt aufgerufen wird. Sie kann im Vorbereitungsskript codiert werden. Um die Denkzeit eines echten Benutzers zu simulieren, legen wir außerdem die Auftragszeitvariable mit einem Drei-Minuten-Offset fest. Daher enthält das Feld Skript vorbereiten die folgenden Zeichenfolgen:
context.OrderTime = DateTime.Now.AddMinutes(3).ToUniversalTime().ToString("yyyy-MM-dd\\Thh:mm:ss") + ".0Z"; // order time + 3 min context.Session = (Tasks["Login"] as Http).body["//INPUT[@ID='__VIEWSTATE']", "VALUE"]; // track state value from Login page ProcessPostDataByRazor(currentTask);
Die resultierende HTTP-Anforderung sieht wie folgt aus:
03:15:45 POST https://www.dotcom-monitor.com/Order { "OrderTime": "2021-03-30T08:18:45.0Z", "VIEWSTATE": "<Server Generated ViewState>", "ModelID": "2128506" }
Informationen zum Konfigurieren einer HTTP-Anforderung mit einer sich dynamisch ändernden Nutzlast finden Sie unter Dynamisches Ändern der Nutzlast in HTTP-Anforderung.
DNS-Optionen
Mit der Funktion DNS-Optionen können Benutzer auswählen, wie DNS-Anforderungen (Domain Name Server) während einer Überwachungsaufgabe ausgeführt werden.
Um den Modus zum Auflösen von Hostnamen anzugeben, wählen Sie im Abschnitt DNS-Auflösungsmodus einen der verfügbaren Modi aus. Weitere Informationen zur Feature-Konfiguration finden Sie unter DNS-Modusoptionen.
Im Abschnitt Benutzerdefinierte DNS-Hosts können Sie die Zuordnung von IP-Adressen zu Hostnamen einrichten. IPv6- und IPv4-DNS-Auflösung wird unterstützt.
Um das Mapping festzulegen, geben Sie die IP-Adresse und den Hostnamen in die entsprechenden Felder ein.
Siehe auch: DNS-Modusoptionen.
Vorbereiten von Skript und Postskript
Die Felder können Code enthalten, der für bestimmte POST-, GET-, URL-Daten oder für die Validierung oder Veröffentlichung benutzerdefinierter Header verwendet werden kann. Weitere Informationen zur Verwendung finden Sie im Artikel “Vorbereiten von Skripts und Postskripten”, oder wenden Sie sich an den technischen Support.