Mit öffentlichen Verfügbarkeitsdiagnosen können Sie die Verfügbarkeit öffentlich zugänglicher URLs und Google Cloud Ressourcen testen, indem Sie regelmäßig HTTP-, HTTPS- oder TCP-Anfragen von mehreren Standorten auf der ganzen Welt senden. Wenn Sie eine Verfügbarkeitsdiagnose erstellen, können Sie auch eine Benachrichtigungsrichtlinie konfigurieren, um benachrichtigt zu werden, wenn das Ziel nicht reagiert. Wenn Sie stattdessen Ressourcen in einem privaten Netzwerk testen möchten, lesen Sie den Abschnitt Private Verfügbarkeitsdiagnosen erstellen.
Verfügbarkeitsdiagnosen
Mit öffentlichen Verfügbarkeitsdiagnosen kann die Verfügbarkeit der folgenden überwachten Ressourcen ermittelt werden:- URL-Verfügbarkeitsdiagnose
- VM-Instanz
- App Engine-Anwendung
- Kubernetes-Dienst
- Amazon Elastic Compute Cloud-Instanz (EC2)
- Cloud Run-Überarbeitung
Bei HTTP und HTTPS werden allen URL-Weiterleitungen gefolgt und die endgültige Antwort, die die Verfügbarkeitsdiagnose empfängt, wird zur Bewertung von Erfolgskriterien verwendet. Bei HTTPS-Prüfungen wird die Ablaufzeit des SSL-Zertifikats basierend auf dem Serverzertifikat berechnet, das in der endgültigen Antwort empfangen wurde.
Damit eine Uptime-Prüfung erfolgreich ist, müssen die folgenden Bedingungen erfüllt sein:
- Der HTTP-Status muss den von Ihnen angegebenen Kriterien entsprechen.
- Die Antwortdaten enthalten keine erforderlichen Inhalte oder die erforderlichen Inhalte sind vorhanden.
Bei Verfügbarkeitsdiagnosen werden keine Seiten-Assets geladen und kein JavaScript ausgeführt. Die Standardkonfiguration einer Verfügbarkeitsdiagnose umfasst keine Authentifizierung.
Hinweis
Führen Sie die folgenden Schritte im Google Cloud -Projekt aus, in dem der Uptime-Check gespeichert werden soll. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, damit Sie die nötigen Berechtigungen zum Erstellen von Uptime-Checks haben:
-
Google Cloud Konsolennutzer:
Monitoring Editor (
roles/monitoring.editor) -
API-Nutzer:
- Bearbeiter der Konfiguration von Verfügbarkeitsdiagnosen in Monitoring (
roles/monitoring.uptimeCheckConfigEditor) - Bearbeiter von Monitoring-Benachrichtigungsrichtlinien (
roles/monitoring.alertPolicyEditor) - Bearbeiter von Monitoring-Benachrichtigungskanälen (
roles/monitoring.notificationChannelEditor)
- Bearbeiter der Konfiguration von Verfügbarkeitsdiagnosen in Monitoring (
-
Google Cloud Konsolennutzer:
Monitoring Editor (
Prüfen Sie, ob die Ressource, die Sie prüfen möchten, entweder einen öffentlichen Endpunkt hat oder sich hinter einer konfigurierbaren Firewall befindet.
Für alle anderen Konfigurationen müssen Sie eine private Verfügbarkeitsdiagnose erstellen. Weitere Informationen finden Sie unter Private Verfügbarkeitsdiagnosen erstellen.
Wenn sich Ihre Ressource hinter einer Firewall befindet, konfigurieren Sie diese so, dass eingehender Traffic von den IP-Adressen der Uptime-Check-Server zugelassen wird. Weitere Informationen finden Sie unter Server-IP-Adressen für die Verfügbarkeitsdiagnose auflisten.
Konfigurieren Sie die Benachrichtigungskanäle, die Sie für Benachrichtigungen verwenden möchten. Wir empfehlen, mehrere Arten von Benachrichtigungskanälen zu erstellen. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.
Legen Sie mindestens drei Prüfer für Ihre Verfügbarkeitsdiagnose fest. Die Region für Uptime-Prüfungen
USAumfasst die RegionenUSA_OREGON,USA_IOWAundUSA_VIRGINIA. Jede derUSA_*-Regionen hat einen Checker undUSAumfasst alle drei. Die anderen Regionen für Uptime-Prüfungen,EUROPE,SOUTH_AMERICAundASIA_PACIFIC, haben jeweils einen Checker.Wenn Sie bei Verwendung der Google Cloud Console Global oder bei Verwendung der API
REGION_UNSPECIFIEDauswählen, werden Verfügbarkeitsdiagnosen aus allen Verfügbarkeitsdiagnoseregionen ausgegeben.-
Wählen Sie den Tab für die geplante Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud -Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Terraform
Wenn Sie die Terraform-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.
C#
Wenn Sie die .NET-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.
Go
Wenn Sie die Go-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.
Java
Wenn Sie die Java-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.
Node.js
Wenn Sie die Node.js-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.
PHP
Wenn Sie die PHP-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Wenn Sie die Python-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.
Ruby
Wenn Sie die Ruby-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
-
Verfügbarkeitsdiagnose erstellen
In diesem Abschnitt wird das Erstellen und Konfigurieren von Verfügbarkeitsdiagnosen erläutert.
Wenn Sie eine Verfügbarkeitsprüfung für einen externen Load-Balancer erstellen möchten, für den mindestens ein TCP-, HTTP- oder HTTPS-Port konfiguriert ist, können Sie dieser Anleitung folgen. Alternativ können Sie die Seite Dienstdetails für den Dienst aufrufen und dann auf Uptime-Check erstellen klicken. Wenn Sie auf der Seite Dienstdetails beginnen, werden die dienstspezifischen Felder automatisch ausgefüllt.
Console
So erstellen Sie eine Verfügbarkeitsdiagnose mithilfe der Google Cloud Console:
-
Rufen Sie in der Google Cloud Console die Seite Verfügbarkeitsdiagnosen
auf:
Verfügbarkeitsdiagnosen aufrufen
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie in der Symbolleiste der Google Cloud Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.
Klicken Sie auf Verfügbarkeitsdiagnose erstellen.
Geben Sie das Ziel der Verfügbarkeitsdiagnose an:
Wählen Sie das Protokoll aus. Sie können HTTP, HTTPS oder TCP auswählen.
Wählen Sie einen der folgenden Ressourcentypen aus:
- URL: Eine IPv4-Adresse oder ein Hostname. Pfad und Port werden separat eingegeben.
- Kubernetes LoadBalancer Service: Kubernetes-Service vom Typ LoadBalancer.
- Cloud Run-Dienst: Wenn Sie einen Cloud Run-Dienst als Ziel eines Uptime-Checks auswählen, müssen Sie die Berechtigung
run.routes.invokefür diesen Dienst haben. - App Engine: Google App Engine-Anwendungen (Module)
- Instanz: Compute Engine- oder AWS EC2-Instanzen
- Elastic Load Balancer (Elastic-Load-Balancer): AWS-Load-Balancer
Füllen Sie die protokollspezifischen Felder aus:
Geben Sie für TCP-Prüfungen den Port ein.
Bei HTTP- und HTTPS-Prüfungen können Sie einen Pfad innerhalb Ihres Hosts oder Ihrer Ressource eingeben. Alle Verfügbarkeitsdiagnosen, die diese Protokolle verwenden, senden eine Anfrage an
http://target/path. In diesem Ausdruck isttargetfür eine URL-Ressource ein Hostname oder eine IP-Adresse. Bei einer App Engine-Ressource isttargetein Hostname, der vom Dienstnamen abgeleitet wird. Für Instanz- und Load-Balancer-Ressourcen isttargeteine IP-Adresse, die von dem Namen abgeleitet wird, den Sie für die Ressource oder die Gruppe von Ressourcen angegeben haben.Wenn Sie das Feld
pathleer lassen oder den Wert auf/setzen, wird die Anfrage anhttp://target/gesendet.Wenn Sie beispielsweise eine Verfügbarkeitsdiagnose für die URL-Ressource
example.com/testerausgeben möchten, legen Sie das Feld Hostname aufexample.comund das Feld Pfad auf/testerfest.Angenommen, Sie haben einen Server in App Engine mit einem Disponenten bereitgestellt, der
/und/hellounterstützt. Wenn Sie die Verfügbarkeitsdiagnose an den/-Handler senden möchten, lassen Sie das Feld Pfad leer. Wenn Sie den Uptime-Check an den/hello-Handler senden möchten, legen Sie den Wert des Felds Pfad auf/hellofest.
Geben Sie die ressourcenspezifischen Felder ein:
Geben Sie für URL-Ressourcen den Hostnamen in das Feld Hostname ein. Geben Sie beispielsweise
example.comein.Geben Sie für App Engine-Ressourcen den Dienstnamen in das Feld Dienst ein.
Füllen Sie für die Ressourcen Elastic Load Balancer und Instance das Feld Applies to (Gilt für) so aus:
- Wenn Sie eine Uptime-Prüfung für eine einzelne Instanz oder einen einzelnen Load Balancer ausführen möchten, wählen Sie Single (Einzeln) aus und wählen Sie dann im Menü die gewünschte Instanz oder den gewünschten Load Balancer aus.
- Wenn Sie eine Verfügbarkeitsdiagnose für eine Monitoring-Gruppe ausführen möchten, wählen Sie Gruppe aus und wählen Sie dann den Gruppennamen im Menü aus.
Optional: Wenn Sie festlegen möchten, wie oft die Verfügbarkeitsdiagnose ausgeführt wird, verwenden Sie das Feld Diagnosehäufigkeit.
Optional: Wenn Sie Prüfregionen auswählen oder SSL-Zertifikate, Authentifizierung, Header und Ports für HTTP- und HTTPS-Prüfungen konfigurieren möchten, klicken Sie auf Weitere Zieloptionen:
- Regionen: Wählen Sie die Regionen aus, in denen die Verfügbarkeitsdiagnosen Anfragen erhalten sollen. Für eine Uptime-Prüfung müssen mindestens drei Prüfer vorhanden sein. In allen Regionen außer den USA gibt es einen Prüfer. In den USA gibt es drei Prüfer. Die Standardeinstellung Global umfasst alle Regionen.
- ICMP-Pings: Konfigurieren Sie die Verfügbarkeitsdiagnose so, dass bis zu drei Pings gesendet werden. Weitere Informationen finden Sie unter ICMP-Pings verwenden.
- Anfragemethode: Wählen Sie für HTTP-Prüfungen die Anfragemethode aus.
- Body: Geben Sie für HTTP POST-Prüfungen den URL-codierten Body ein. Die Codierung muss manuell erfolgen. Lassen Sie dieses Feld für alle anderen Prüfungen leer.
- Host-Header: Füllen Sie dieses Feld aus, um virtuelle Hosts zu prüfen. Dieses Feld ist für TCP-Diagnosen nicht verfügbar.
- Port: Geben Sie eine Portnummer an.
- Benutzerdefinierte Header: Geben Sie benutzerdefinierte Header an und verschlüsseln Sie sie bei Bedarf. Durch die Verschlüsselung werden die Werte der Kopfzeile im Formular ausgeblendet. Verwenden Sie die Verschlüsselung für Header im Zusammenhang mit der Authentifizierung, die für andere nicht sichtbar sein sollen.
Authentifizierung: Diese Werte werden als Autorisierungsheader gesendet. Dieses Feld ist für TCP-Diagnosen nicht verfügbar.
Wählen Sie aus den folgenden Optionen aus:
- Basisauthentifizierung: Geben Sie einen Nutzernamen und ein Passwort an. Passwörter werden im Formular immer ausgeblendet.
- Dienst-Agent-Authentifizierung: Wenn diese Option aktiviert ist, wird ein Identitätstoken für den Dienst-Agent für die Überwachung generiert. Diese Option ist nur für HTTPS-Prüfungen verfügbar.
SSL-Zertifikatsvalidierung: Wenn Sie HTTPS für eine URL-Ressource ausgewählt haben, versucht der Dienst standardmäßig, eine Verbindung über HTTPS herzustellen und das SSL-Zertifikat zu validieren. Verfügbarkeitsdiagnosen schlagen fehl, wenn eine URL ein ungültiges Zertifikat hat. Gründe für ein ungültiges Zertifikat:
- Ein abgelaufenes Zertifikat
- Selbst signiertes Zertifikat
- Ein Zertifikat mit einem Domainnamen, der nicht übereinstimmt
- Ein Zertifikat, das die AIA-Erweiterung (Authority Information Access) verwendet.
Wenn Sie eine HTTPS-Uptime-Prüfung erzwingen möchten, um das SSL-Zertifikat zu validieren, wählen Sie SSL-Zertifikate validieren aus.
Wenn Sie die SSL-Zertifikatsvalidierung deaktivieren möchten, entfernen Sie das Häkchen bei SSL-Zertifikate validieren.
Wenn Sie SSL-Zertifikate mit AIA-Erweiterungen haben, müssen Sie die SSL-Zertifikatsvalidierung deaktivieren. Diese Zertifikatstypen werden nicht unterstützt und schlagen die Validierungssequenz fehl. In der Regel lautet die Fehlermeldung "Antwort mit SSL-Handshake-Fehler in 10.000 ms".
Mit dem Messwert
monitoring.googleapis.com/uptime_check/time_until_ssl_cert_expireskönnen Sie eine Benachrichtigungsrichtlinie erstellen, die Sie benachrichtigt, bevor Ihr Zertifikat abläuft. Weitere Informationen finden Sie unter Beispielrichtlinien: Richtlinie zur Verfügbarkeitsdiagnose.
Klicken Sie auf Weiter und konfigurieren Sie die Anforderungen an die Antwort. Alle Einstellungen in diesem Abschnitt haben Standardwerte:
Wenn Sie das Zeitlimit für die Verfügbarkeitsdiagnose ändern möchten, verwenden Sie das Feld Antwort-Zeitlimit. Eine Verfügbarkeitsdiagnose schlägt fehl, wenn innerhalb dieses Zeitraums von mehr als einem Standort keine Antwort empfangen wird.
Wenn Sie die Verfügbarkeitsdiagnose so konfigurieren möchten, dass ein Inhaltsabgleich durchgeführt wird, muss die Ein/Aus-Schaltfläche mit Inhaltsabgleich ist aktiviert beschriftet sein:
- Wählen Sie im Menü mit den Optionen den Typ für den Abgleich von Antwortinhalten aus.
Dieses Feld bestimmt, wie der Antwortinhalt mit den zurückgegebenen Daten verglichen wird. Angenommen, der Antwortinhalt ist
abcdund der Übereinstimmungstyp für den Inhalt ist Enthält. Die Verfügbarkeitsdiagnose ist nur erfolgreich, wenn die Antwortdatenabcdenthalten. Weitere Informationen finden Sie unter Antwortdaten validieren. - Geben Sie den Antwortinhalt ein. Der Antwortinhalt muss ein String mit einer Länge von maximal 1.024 Byte sein. In der API ist dieses Feld das
ContentMatcher-Objekt.
- Wählen Sie im Menü mit den Optionen den Typ für den Abgleich von Antwortinhalten aus.
Dieses Feld bestimmt, wie der Antwortinhalt mit den zurückgegebenen Daten verglichen wird. Angenommen, der Antwortinhalt ist
Wenn Sie verhindern möchten, dass aufgrund von Verfügbarkeitsdiagnosen Logeinträge erstellt werden, deaktivieren Sie Logprüffehler.
Konfigurieren Sie für die HTTP-Verfügbarkeitsdiagnosen die zulässigen Antwortcodes. Standardmäßig werden bei HTTP-Verfügbarkeitsdiagnosen alle
2xx-Antworten als erfolgreiche Antworten gekennzeichnet.
Klicken Sie auf Weiter und konfigurieren Sie die Benachrichtigungen.
Wenn Sie benachrichtigt werden möchten, wenn eine Verfügbarkeitsdiagnose fehlschlägt, erstellen Sie eine Benachrichtigungsrichtlinie und konfigurieren Sie Benachrichtigungskanäle für diese Richtlinie:
- Optional: Aktualisieren Sie den Namen der Benachrichtigungsrichtlinie.
- Optional: Wählen Sie im Feld Dauer aus, wie lange die Verfügbarkeitsdiagnosen fehlschlagen müssen, bevor Benachrichtigungen gesendet werden. Standardmäßig werden Benachrichtigungen gesendet, wenn in mindestens zwei Regionen Verfügbarkeitsdiagnosen für mindestens eine Minute fehlschlagen.
Klicken Sie im Feld Benachrichtigungskanäle auf arrow_drop_down Menü, wählen Sie die hinzuzufügenden Kanäle aus und klicken Sie auf OK.
Im Menü sind die Benachrichtigungskanäle für jeden Kanaltyp alphabetisch gruppiert.
Wenn Sie keine Benachrichtigungsrichtlinie erstellen möchten, muss der Schalter neben dem Button Keine Benachrichtigung erstellen lauten.
Klicken Sie auf Weiter und führen Sie die Verfügbarkeitsdiagnose durch:
Geben Sie einen aussagekräftigen Titel für die Verfügbarkeitsdiagnose ein.
Optional: So fügen Sie Ihrem Uptime-Check benutzerdefinierte Labels hinzu:
- Klicken Sie auf expand_more Nutzerlabels einblenden.
- Geben Sie im Feld Schlüssel einen Namen für das Label ein.
Labelnamen müssen mit einem Kleinbuchstaben beginnen und dürfen Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise
severityein. - Geben Sie im Feld Wert einen Wert für das Label ein. Labelwerte dürfen Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise
criticalein. - Klicken Sie für jedes zusätzliche Label auf Nutzerlabel hinzufügen und geben Sie dann den Schlüssel und den Wert des Labels ein.
Klicken Sie auf Test (Testen), um die Konfiguration der Verfügbarkeitsdiagnose zu prüfen. Wenn das Ergebnis nicht Ihren Erwartungen entspricht, lesen Sie den Abschnitt Fehler prüfen, korrigieren Sie Ihre Konfiguration und wiederholen Sie dann den Bestätigungsschritt.
Klicken Sie auf Erstellen. Wenn Sie Erstellen auswählen und ein Pflichtfeld nicht ausgefüllt ist, wird eine Fehlermeldung angezeigt.
gcloud
Führen Sie den Befehl gcloud monitoring uptime create aus, um die Uptime-Prüfung zu erstellen:
gcloud monitoring uptime create DISPLAY_NAME REQUIRED_FLAGS OPTIONAL_FLAGS --project=PROJECT_ID
Ersetzen Sie vor dem Ausführen des vorherigen Befehls Folgendes:
PROJECT_ID: Die Kennung des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.
DISPLAY_NAME: Der Name Ihres Uptime-Checks.
REQUIRED_FLAGS: Konfigurieren Sie diese Option, um die Ressource anzugeben, die vom Uptime-Check geprüft wird. Mit dem folgenden Befehl wird beispielsweise ein Uptime-Check erstellt, mit dem die URL EXAMPLE.com für ein bestimmtes Projekt getestet wird:
gcloud monitoring uptime create DISPLAY_NAME \ --resource-labels=host=EXAMPLE.com,project_id=PROJECT_ID \ --resource-type=uptime-urlIm vorherigen Befehl werden Werte für jedes Label angegeben, das für den Ressourcentyp
uptime-urlerforderlich ist.OPTIONAL_FLAGS: Konfigurieren Sie diese Flags, um Standardwerte zu überschreiben. Sie müssen beispielsweise das Flag
--protocolfestlegen, wenn das Protokoll nichthttpist.
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Referenzdokumentation des Anbieters zu Terraform.
So erstellen Sie eine Verfügbarkeitsdiagnose und eine Benachrichtigungsrichtlinie zur Überwachung dieser Diagnose:
- Installieren und konfigurieren Sie Terraform für Ihr Projekt. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.
Bearbeiten Sie Ihre Terraform-Konfigurationsdatei, fügen Sie eine
google_monitoring_uptime_check_config-Ressource hinzu und wenden Sie dann die Konfigurationsdatei an.Das folgende Beispiel zeigt eine Konfiguration, mit der eine öffentliche URL geprüft wird:
resource "google_monitoring_uptime_check_config" "example" { display_name = "example" timeout = "60s" http_check { port = "80" request_method = "GET" } monitored_resource { type = "uptime_url" labels = { project_id = "PROJECT_ID" host="EXAMPLE.com" } } checker_type = "STATIC_IP_CHECKERS" }Im vorherigen Ausdruck gilt Folgendes:
- PROJECT_ID ist die ID des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.
- EXAMPLE.com ist die Host-URL.
Optional: Erstellen Sie einen Benachrichtigungskanal und eine Benachrichtigungsrichtlinie:
In den folgenden Schritten wird die Google Cloud Console verwendet, um den Benachrichtigungskanal und die Benachrichtigungsrichtlinie zu erstellen. So wird sichergestellt, dass die Benachrichtigungsrichtlinie nur die Daten überwacht, die von Ihrer Verfügbarkeitsdiagnose generiert werden.
So erstellen Sie einen Benachrichtigungskanal:
-
Rufen Sie in der Google Cloud Console die Seite notifications Benachrichtigungen auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie in der Symbolleiste der Google Cloud Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.
- Wählen Sie Benachrichtigungskanäle verwalten aus.
- Rufen Sie den gewünschten Channneltyp auf, klicken Sie auf Hinzufügen und füllen Sie das Dialogfeld aus.
-
So erstellen Sie eine Benachrichtigungsrichtlinie:
-
Rufen Sie in der Google Cloud Console die Seite Verfügbarkeitsdiagnosen
auf:
Verfügbarkeitsdiagnosen aufrufen
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie in der Symbolleiste der Google Cloud Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.
- Suchen Sie nach Ihrem Uptime-Check, wählen Sie more_vert Mehr und dann Benachrichtigungsrichtlinie hinzufügen aus.
- Gehen Sie im Dialogfeld zum Bereich Benachrichtigungen und Name, maximieren Sie Benachrichtigungskanäle und treffen Sie Ihre Auswahl.
- Geben Sie einen Namen für die Benachrichtigungsrichtlinie ein und klicken Sie dann auf Richtlinie erstellen.
-
Sie können eine Benachrichtigungsrichtlinie erstellen, indem Sie Ihrer Konfigurationsdatei eine
google_monitoring_alert_policy-Ressource hinzufügen und die neue Konfiguration anwenden.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Ruby
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
REST
Rufen Sie zum Erstellen einer Verfügbarkeitsdiagnose die Methode projects.uptimeCheckConfigs.create auf. Legen Sie die Parameter der Methode so fest:
parent: Erforderlich. Das Projekt, in dem die Verfügbarkeitsdiagnose erstellt werden soll. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus. Dieses Feld hat das folgende Format:
projects/PROJECT_IDDer Anfragetext muss ein
UptimeCheckConfig-Objekt für die neue Verfügbarkeitsdiagnose enthalten. Auf dieser Seite finden Sie Informationen zu einigen Feldern. Eine vollständige Dokumentation zu diesem Objekt und seinen Feldern finden Sie unterUptimeCheckConfig:Lassen Sie das Feld
namedes Konfigurationsobjekts leer. Das System legt dieses Feld fest, wenn es das Antwortkonfigurationsobjekt erstellt.Wenn Sie eine HTTP- oder HTTPS-Prüfung konfigurieren, müssen Sie das Feld
HttpCheckdes ObjektsUptimeCheckConfigausfüllen. Legen Sie in diesem Objekt das FeldrequestMethodaufGEToderPOSTfest. Wenn dieses Feld ausgelassen oder aufMETHOD_UNSPECIFIEDgesetzt wird, wird eineGET-Anfrage ausgegeben.Wenn Sie eine
POST-Anfrage konfigurieren, füllen Sie die FeldercontentType, optionalcustomContentTypeundbodyaus.
Die Methode create gibt das Objekt UptimeCheckConfig für die neue Konfiguration zurück.
Wenn die erstellte Uptime-Konfiguration nicht wie erwartet funktioniert, lesen Sie den Abschnitt Fehler prüfen auf dieser Seite.
Es kann bis zu 5 Minuten dauern, bis die Ergebnisse der Verfügbarkeitsdiagnose bei Monitoring eintreffen. Bis dahin meldet das Verfügbarkeitsdiagnose-Dashboard als Status "no data available" (Keine Daten verfügbar).
ICMP-Pings verwenden
Um Ihnen bei der Fehlerbehebung fehlgeschlagener öffentlicher Verfügbarkeitsdiagnosen zu helfen, können Sie Ihre Verfügbarkeitsdiagnosen so konfigurieren, dass während der Diagnose bis zu drei ICMP-Pings gesendet werden. Mithilfe der Pings können Sie zwischen Fehlern unterscheiden, die z. B. durch Probleme mit der Netzwerkverbindung und durch Zeitüberschreitungen in Ihrer Anwendung verursacht werden.
Standardmäßig werden bei Verfügbarkeitsdiagnosen keine Pings gesendet. Jeder Ping erhöht die Latenz der Verfügbarkeitsdiagnose. Mit privaten Verfügbarkeitsdiagnosen können keine Pings gesendet werden.
Wenn eine öffentliche Verfügbarkeitsdiagnose fehlschlägt, werden die Ergebnisse der Pings in Cloud Logging-Logs geschrieben. Wenn der Ping fehlschlägt, werden dem Feld httpRequest im Logeintrag die folgenden Felder hinzugefügt:
rtt_usec: Die Umlaufzeit für jede fehlgeschlagene Ping-Anfrage.unreachable_count: Anzahl der Pinganfragen, die den StatuscodeICMP_DEST_UNREACHzurückgegeben haben.no_answer_count: Anzahl der Ping-Anfragen, bei denen eine Zeitüberschreitung aufgetreten ist und keine Antwort zurückgegeben wurde.
Die Ergebnisse von Pings für erfolgreiche Verfügbarkeitsdiagnosen werden nicht protokolliert.
Pings konfigurieren
Jede Uptime-Check-Konfiguration enthält entweder ein HttpCheck-Objekt oder ein TcpCheck-Objekt.
Beide Objekte enthalten das Feld pingConfig.
In diesem Feld können Sie die Anzahl der ICMP-Pings angeben, die in jeder Prüfung enthalten sein sollen (bis zu 3). Standardmäßig werden keine Pings gesendet.
Führen Sie einen der folgenden Schritte aus, um Pings zu konfigurieren:
Wenn Sie die Google Cloud Konsole verwenden, maximieren Sie Weitere Zieloptionen und geben Sie einen Wert in das Feld ICMP-Pings ein.
Wenn Sie die Cloud Monitoring API verwenden, verwenden Sie das
PingConfig-Objekt mit der folgenden Struktur:{ "pingsCount": integer }Weitere Informationen zur Verwendung der Monitoring API für Uptime-Check-Konfigurationen finden Sie unter Uptime-Check erstellen: API oder Uptime-Check bearbeiten: API.
Verfügbarkeitsdiagnose überprüfen
Wenn Sie eine Verfügbarkeitsdiagnose in der Google Cloud -Konsole erstellen, können Sie die Konfiguration vor dem Speichern testen.
Erfolgreiche Prüfungen
Eine Verfügbarkeitsdiagnose ist erfolgreich, wenn die folgenden Bedingungen erfüllt sind:
- Der HTTP-Status entspricht den von Ihnen ausgewählten Kriterien.
- Die Antwort enthält keine erforderlichen Inhalte oder die Suche nach den erforderlichen Inhalten in der Antwort ist erfolgreich.
Fehlgeschlagene Prüfungen
Im Folgenden sind einige mögliche Fehlerursachen bei Verfügbarkeitsdiagnosen aufgeführt:
- Connection Error – Refused (Verbindungsfehler – Abgelehnt): Achten Sie bei Verwendung des Standardverbindungstyps HTTP darauf, dass ein Webserver installiert ist, der auf HTTP-Anfragen reagiert. Auf einer neuen Instanz kann ein Verbindungsfehler auftreten, wenn Sie keinen Webserver installiert haben. Weitere Informationen finden Sie in der Kurzanleitung für Compute Engine. Bei Verwendung des Verbindungstyps HTTPS müssen Sie unter Umständen zusätzliche Konfigurationsschritte ausführen. Informationen zu Firewallproblemen finden Sie unter Server-IP-Adressen für die Verfügbarkeitsdiagnose auflisten.
- Name or service not found (Name oder Dienst nicht gefunden): Der Hostname ist möglicherweise falsch.
403 Forbidden (403 – Verboten): Der Dienst liefert während der Verfügbarkeitsdiagnose einen Fehlercode. Die Standardkonfiguration für den Apache-Webserver gibt diesen Code beispielsweise unter Amazon Linux zurück. Unter bestimmten Linux-Versionen erhalten Sie hingegen den Code 200 (Success) (200 (Erfolg)). Weitere Informationen finden Sie in der LAMP-Anleitung für Amazon Linux oder in der Dokumentation Ihres Webservers.
Wenn Sie diese Fehlermeldung sehen und das Ziel Ihres Uptime-Checks ein Cloud Run-Dienst ist, müssen Sie sicherstellen, dass Sie die Berechtigung
run.routes.invokefür diesen Dienst haben.404 – Not found (404 – Nicht gefunden): Möglicherweise ist der Pfad falsch.
408 Request timeout (408 – Zeitüberschreitung bei Anfrage) oder keine Antwort: Möglicherweise ist die Portnummer falsch, der Dienst wird nicht ausgeführt oder ist nicht erreichbar oder das Zeitlimit ist zu niedrig. Prüfen Sie, ob Ihre Firewall Traffic von den Verfügbarkeitsservern zulässt. Weitere Informationen finden Sie unter Server-IP-Adressen für die Verfügbarkeitsdiagnose auflisten. Das Zeitlimit ist Teil der Antwortvalidierung angegeben.
Ein Zeitüberschreitungsfehler bei einer Anfrage kann durch eine Netzwerküberlastung verursacht werden. Aufgrund einer vorübergehenden Netzwerküberlastung kann es beispielsweise vorkommen, dass eine Prüfung fehlschlägt, alle anderen jedoch erfolgreich sind. Wenn ein einzelner Checker fehlschlägt, wird keine Benachrichtigung gesendet, sofern in Ihrer Benachrichtigungsrichtlinie die Standardkonfiguration verwendet wird.
Wenn Ihre Verfügbarkeitsdiagnose so konfiguriert ist, dass Pings gesendet werden, werden die Ergebnisse von Pings für fehlgeschlagene Verfügbarkeitsdiagnosen in Cloud Logging geschrieben. Weitere Informationen finden Sie unter ICMP-Pings verwenden.
Beschränkungen
Öffentliche Verfügbarkeitsdiagnosen werden innerhalb eines VPC Service Controls-Perimeters nicht unterstützt. Private Verfügbarkeitsdiagnosen können sich innerhalb eines VPC Service Controls-Perimeters befinden. Weitere Informationen finden Sie unter Private Verfügbarkeitsdiagnosen erstellen.
Nächste Schritte
- Verfügbarkeitsdiagnosen verwalten
- Benachrichtigungsrichtlinien für Verfügbarkeitsdiagnosen erstellen
- Server-IP-Adressen für die Verfügbarkeitsdiagnose auflisten
- Messwerte für Verfügbarkeitsdiagnosen in Diagrammen darstellen