Öffentliche Verfügbarkeitsdiagnosen erstellen

In diesem Dokument wird beschrieben, wie Sie eine öffentliche Verfügbarkeitsdiagnose erstellen. Bei einer öffentlichen Verfügbarkeitsdiagnose können Anfragen von mehreren Standorten auf der ganzen Welt an öffentlich verfügbare URLs oder Google Cloud Ressourcen gesendet werden, um zu prüfen, ob die Ressource antwortet. Informationen zum Erstellen von Verfügbarkeitsdiagnosen für private Netzwerke finden Sie unter Private Verfügbarkeitsdiagnosen erstellen.

Mit öffentlichen Verfügbarkeitsdiagnosen kann die Verfügbarkeit der folgenden überwachten Ressourcen ermittelt werden:

Links zu Informationen zum Verwalten und Überwachen Ihrer Verfügbarkeitsdiagnosen finden Sie im Abschnitt Nächste Schritte in diesem Dokument.

Diese Funktion wird nur für Google Cloud -Projekte unterstützt. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.

Verfügbarkeitsdiagnosen

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 Verfügbarkeitsdiagnose erfolgreich ist, müssen die folgenden Bedingungen erfüllt sein:

  • Der HTTP-Status muss den von Ihnen angegebenen Kriterien entsprechen.
  • Es gibt für die Antwortdaten keinen erforderlichen Inhalt bzw. der erforderliche Inhalt ist vorhanden.

Bei Verfügbarkeitsdiagnosen werden keine Seitenassets geladen und kein JavaScript ausgeführt. Die Standardkonfiguration einer Verfügbarkeitsdiagnose umfasst keine Authentifizierung.

Hinweise

Führen Sie die folgenden Schritte im Google Cloud Projekt aus, in dem die Verfügbarkeitsdiagnose gespeichert werden soll:

  1. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Uptime-Checks benötigen:

    • Monitoring-Editor (roles/monitoring.editor) – Google Cloud Console-Nutzer
    • Bearbeiter von Monitoring-Verfügbarkeitsdiagnosen-Konfigurationen (roles/monitoring.uptimeCheckConfigEditor) – API-Nutzer
    • Bearbeiter von Monitoring-Benachrichtigungsrichtlinien (roles/monitoring.alertPolicyEditor) – API-Nutzer
    • Bearbeiter von Monitoring-Benachrichtigungskanälen (roles/monitoring.notificationChannelEditor) – API-Nutzer

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

  2. 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.

  3. Wenn sich Ihre Ressource hinter einer Firewall befindet, konfigurieren Sie diese Firewall so, dass eingehender Traffic von den IP-Adressen der Server der Verfügbarkeitsdiagnose zugelassen wird. Weitere Informationen finden Sie unter IP-Adressen von Uptime-Check-Servern auflisten.

  4. 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.

  5. Geben Sie mindestens drei Prüfer für Ihre Verfügbarkeitsdiagnose an. Die Region USA der Verfügbarkeitsdiagnose umfasst die Regionen USA_OREGON, USA_IOWA und USA_VIRGINIA. Jede der USA_*-Regionen hat eine Prüfung und USA umfasst alle drei. Die anderen Regionen der Verfügbarkeitsdiagnose, EUROPE, SOUTH_AMERICA und ASIA_PACIFIC, haben jeweils eine Diagnose.

    Wenn Sie bei der Verwendung der Google Cloud Console Global oder bei Verwendung der API REGION_UNSPECIFIED auswählen, werden Verfügbarkeitsdiagnosen aus allen Regionen der Verfügbarkeitsdiagnose ausgegeben.

  6. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      In the Google Cloud console, activate Cloud Shell.

      Activate Cloud Shell

      At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

      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 dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.

      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      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 dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.

      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      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 dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.

      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      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 dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.

      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      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 dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.

      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      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 dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.

      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      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 dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.

      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      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 dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.

      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.

      REST

      Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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.

      So erstellen Sie eine Uptime-Prüfung für einen externen Load-Balancer, für den mindestens ein TCP- oder HTTP/S-Port konfiguriert ist: Alternativ können Sie die Seite Dienstdetails für den Dienst aufrufen und dann auf Verfügbarkeitsdiagnose 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:

      1. Rufen Sie in der Google Cloud Console die Seite  Uptime-Prüfungen auf:

        Verfügbarkeitsdiagnosen aufrufen

        Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

      2. 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 des für Apps aktivierten Ordners aus.
      3. Klicken Sie auf Verfügbarkeitsdiagnose erstellen.

        Dialogfeld zum Erstellen einer Verfügbarkeitsdiagnose

      4. Geben Sie das Ziel der Verfügbarkeitsdiagnose an:

        1. Wählen Sie das Protokoll aus. Sie können HTTP, HTTPS oder TCP auswählen.

        2. 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.
          • Instanz: Compute Engine- oder AWS EC2-Instanzen.
          • App Engine: Google App Engine-Anwendungen (Module)
          • Elastic Load Balancer (Elastic-Load-Balancer): AWS-Load-Balancer
        3. 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 ist target für eine URL-Ressource ein Hostname oder eine IP-Adresse. Bei einer App Engine-Ressource ist target ein Hostname, der vom Dienstnamen abgeleitet wird. Für Instanz- und Load-Balancer-Ressourcen ist target eine 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 path leer lassen oder den Wert auf / setzen, wird die Anfrage an http://target/ gesendet.

            Wenn Sie beispielsweise eine Verfügbarkeitsdiagnose für die URL-Ressource example.com/tester durchführen möchten, setzen Sie das Feld Hostname auf example.com und das Feld Path auf /tester.

            Angenommen, Sie haben einen Server in App Engine mit einem Disponenten bereitgestellt, der / und /hello unterstützt. Wenn Sie die Verfügbarkeitsdiagnose für den „/“-Handler ausführen möchten, lassen Sie das Feld Pfad leer. Um die Verfügbarkeitsdiagnose für den /hello-Handler auszuführen, setzen Sie den Wert des Felds Pfad auf /hello.

        4. Geben Sie die ressourcenspezifischen Felder ein:

          • Geben Sie für URL-Ressourcen den Hostnamen in das Feld Hostname ein. Geben Sie beispielsweise example.com ein.

          • Geben Sie für App Engine-Ressourcen den Dienstnamen in das Feld Dienst ein.

          • Füllen Sie für Elastic Load Balancer- und Instance-Ressourcen das Feld Gilt für so aus:

            • Um eine Verfügbarkeitsdiagnose für eine einzelne Instanz oder einen einzelnen Load-Balancer durchzuführen, wählen Sie Einzeln aus und wählen Sie dann über das Menü die gewünschte Instanz oder den Load-Balancer aus.
            • Um eine Verfügbarkeitsdiagnose für eine Monitoring-Gruppe durchzuführen, wählen Sie Gruppe aus und wählen Sie dann im Menü den Gruppennamen aus.
        5. Optional: Wenn Sie festlegen möchten, wie oft die Verfügbarkeitsdiagnose ausgeführt wird, verwenden Sie das Feld Checkhäufigkeit.

        6. Optional: Klicken Sie auf Weitere Zieloptionen, um Prüfregionen auszuwählen oder SSL-Zertifikate, Authentifizierung, Header und Ports für HTTP- und HTTPS-Prüfungen zu konfigurieren:

          • Regionen: Wählen Sie die Regionen aus, in denen die Verfügbarkeitsdiagnosen Anfragen erhalten sollen. Eine Verfügbarkeitsdiagnose muss mindestens drei Prüfer enthalten. Es gibt in allen Regionen eine Prüfung, mit Ausnahme von USA, wo es drei Prüfungen gibt. 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 des Headers 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.
            • Authentifizierung von Dienst-Agents: Wenn diese Option aktiviert ist, wird ein Identitätstoken für den Monitoring-Dienst-Agent generiert. Diese Option ist nur für HTTPS-Prüfungen verfügbar.
          • SSL-Zertifikatsprüfung: Wenn Sie HTTPS für eine URL-Ressource ausgewählt haben, versucht der Dienst standardmäßig, eine Verbindung über HTTPS herzustellen, und validiert das SSL-Zertifikat. Verfügbarkeitsdiagnosen schlagen fehl, wenn eine URL ein ungültiges Zertifikat aufweist. Gründe für ein ungültiges Zertifikat sind:

            • Ein abgelaufenes Zertifikat
            • Selbst signiertes Zertifikat
            • Ein Zertifikat mit einem nicht übereinstimmenden Domainnamen
            • Ein Zertifikat, das die AIA-Erweiterung (Authority Information Access) verwendet.

            Wenn Sie eine HTTPS-Verfügbarkeitsdiagnose zur Validierung des SSL-Zertifikats erzwingen möchten, wählen Sie SSL-Zertifikate überprüfen aus.

            Wenn Sie die SSL-Zertifikatsprüfung deaktivieren möchten, entfernen Sie das Häkchen aus dem Kästchen SSL-Zertifikate prüfen.

            Wenn Sie SSL-Zertifikate mit AIA-Erweiterungen (Authority Information Access) haben, müssen Sie die SSL-Zertifikatsprüfung 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".

            Sie können den Messwert monitoring.googleapis.com/uptime_check/time_until_ssl_cert_expires verwenden, um eine Benachrichtigungsrichtlinie zu erstellen, die Sie benachrichtigt, bevor Ihr Zertifikat abläuft. Weitere Informationen finden Sie unter Beispielrichtlinien: Richtlinie zur Verfügbarkeitsdiagnose.

            Klicken Sie das Kästchen SSL-Zertifikate prüfen an.

      5. Klicken Sie auf Weiter und konfigurieren Sie die Antwortanforderungen. Alle Einstellungen in diesem Abschnitt haben Standardwerte:

        • Wenn Sie das Zeitlimit für die Verfügbarkeitsdiagnose ändern möchten, verwenden Sie das Feld Response Timeout (Zeitlimit für Antwort). Eine Verfügbarkeitsdiagnose schlägt fehl, wenn innerhalb dieses Zeitlimits keine Antwort von mehr als einem Standort empfangen wird.

        • Wenn Sie die Verfügbarkeitsdiagnose so konfigurieren möchten, dass ein Content-Abgleich durchgeführt wird, muss das Umschaltlabel Content-Abgleich ist aktiviert lauten:

          • Wählen Sie im Optionsmenü die Option Übereinstimmungstyp für Antwortinhalt aus. Dieses Feld bestimmt, wie der Antwortinhalt mit den zurückgegebenen Daten verglichen wird. Angenommen, der Antwortinhalt ist abcd und der Inhaltstyp ist Enthält. Die Verfügbarkeitsdiagnose ist nur erfolgreich, wenn die Antwortdaten abcd enthalten. Weitere Informationen finden Sie unter Antwortdaten validieren.
          • Geben Sie den Antwortinhalt ein. Der Antwortinhalt muss ein String sein, der nicht länger als 1.024 Byte ist. In der API ist dieses Feld das Objekt ContentMatcher.
        • Wenn Sie verhindern möchten, dass aufgrund von Verfügbarkeitsdiagnosen Logeinträge erstellt werden, deaktivieren Sie Log check failures (Fehler bei Logprüfungen protokollieren).

        • 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 markiert.

      6. 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:

        1. Optional: Aktualisieren Sie den Namen der Benachrichtigungsrichtlinie.
        2. 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 mindestens eine Minute lang Fehler bei der Verfügbarkeitsdiagnose gemeldet werden.
        3. Klicken Sie im Feld Benachrichtigungskanäle auf  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 der Schaltfläche Keine Benachrichtigung erstellen lauten.

      7. Klicken Sie auf Weiter und führen Sie die Verfügbarkeitsdiagnose durch:

        1. Geben Sie einen aussagekräftigen Titel für die Verfügbarkeitsdiagnose ein.

        2. Optional: So fügen Sie Ihrer Verfügbarkeitsdiagnose benutzerdefinierte Labels hinzu:

          1. Klicken Sie auf  Nutzerlabels einblenden.
          2. 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 severity ein.
          3. Geben Sie im Feld Wert einen Wert für das Label ein. Labelwerte dürfen Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise critical ein.
          4. 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.
        3. 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 Diagnose fehlgeschlagen, korrigieren Sie Ihre Konfiguration und wiederholen Sie den Bestätigungsschritt.

        4. 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 Verfügbarkeitsdiagnose 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 des für Apps aktivierten Ordners aus.

      • DISPLAY_NAME: Der Name Ihres Uptime-Checks.

      • REQUIRED_FLAGS: Konfigurieren Sie die Ressource, die von der Verfügbarkeitsdiagnose geprüft wird. Mit dem folgenden Befehl wird beispielsweise eine Uptime-Prüfung erstellt, mit der 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-url
        

        Mit dem vorherigen Befehl werden Werte für jedes Label angegeben, das für den Ressourcentyp uptime-url erforderlich ist.

      • OPTIONAL_FLAGS: Konfigurieren Sie diese Flags, um Standardwerte zu überschreiben. Sie müssen beispielsweise das Flag --protocol festlegen, wenn das Protokoll nicht http ist.

      Terraform

      Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Anbieterreferenzdokumentation zu Terraform.

      So erstellen Sie eine Verfügbarkeitsdiagnose und eine Benachrichtigungsrichtlinie zur Überwachung dieser Diagnose:

      1. Installieren und konfigurieren Sie Terraform für Ihr Projekt. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
      2. Bearbeiten Sie Ihre Terraform-Konfigurationsdatei und fügen Sie eine google_monitoring_uptime_check_config-Ressource hinzu. 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:

        • PROJECT_ID ist die ID des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
        • EXAMPLE.com ist die Host-URL.
      3. Optional: Benachrichtigungskanal und Benachrichtigungsrichtlinie erstellen:

        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.

        1. So erstellen Sie einen Benachrichtigungskanal:

          1. Rufen Sie in der Google Cloud Console- die Seite Benachrichtigungen auf:

            Zu Benachrichtigungen

            Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

          2. 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 des für Apps aktivierten Ordners aus.
          3. Wählen Sie Benachrichtigungskanäle verwalten aus.
          4. Rufen Sie den gewünschten Channneltyp auf, klicken Sie auf Hinzufügen und füllen Sie das Dialogfeld aus.
        2. So erstellen Sie eine Benachrichtigungsrichtlinie:

          1. Rufen Sie in der Google Cloud Console die Seite  Uptime-Prüfungen auf:

            Verfügbarkeitsdiagnosen aufrufen

            Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

          2. 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 des für Apps aktivierten Ordners aus.
          3. Suchen Sie nach der Verfügbarkeitsdiagnose, wählen Sie  Mehr und dann Benachrichtigungsrichtlinie hinzufügen aus.
          4. Rufen Sie im Dialogfeld den Bereich Benachrichtigungen und Name auf, maximieren Sie Benachrichtigungskanäle und treffen Sie Ihre Auswahl.
          5. 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 Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

      public static object CreateUptimeCheck(string projectId, string hostName,
          string displayName)
      {
          // Define a new config.
          var config = new UptimeCheckConfig()
          {
              DisplayName = displayName,
              MonitoredResource = new MonitoredResource()
              {
                  Type = "uptime_url",
                  Labels = { { "host", hostName } }
              },
              HttpCheck = new UptimeCheckConfig.Types.HttpCheck()
              {
                  Path = "/",
                  Port = 80,
              },
              Timeout = TimeSpan.FromSeconds(10).ToDuration(),
              Period = TimeSpan.FromMinutes(5).ToDuration()
          };
          // Create a client.
          var client = UptimeCheckServiceClient.Create();
          ProjectName projectName = new ProjectName(projectId);
          // Create the config.
          var newConfig = client.CreateUptimeCheckConfig(
              projectName,
              config,
              CallSettings.FromExpiration(
                  Expiration.FromTimeout(
                      TimeSpan.FromMinutes(2))));
          Console.WriteLine(newConfig.Name);
          return 0;
      }
      

      Java

      Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

      private static void createUptimeCheck(
          String projectId, String displayName, String hostName, String pathName) throws IOException {
        CreateUptimeCheckConfigRequest request =
            CreateUptimeCheckConfigRequest.newBuilder()
                .setParent(ProjectName.format(projectId))
                .setUptimeCheckConfig(
                    UptimeCheckConfig.newBuilder()
                        .setDisplayName(displayName)
                        .setMonitoredResource(
                            MonitoredResource.newBuilder()
                                .setType("uptime_url")
                                .putLabels("host", hostName))
                        .setHttpCheck(HttpCheck.newBuilder().setPath(pathName).setPort(80))
                        .setTimeout(Duration.newBuilder().setSeconds(10))
                        .setPeriod(Duration.newBuilder().setSeconds(300)))
                .build();
        try (UptimeCheckServiceClient client = UptimeCheckServiceClient.create()) {
          UptimeCheckConfig config = client.createUptimeCheckConfig(request);
          System.out.println("Uptime check created: " + config.getName());
        } catch (Exception e) {
          usage("Exception creating uptime check: " + e.toString());
          throw e;
        }
      }

      Go

      Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

      
      // createGet creates an example uptime check on a GET request.
      func createGet(w io.Writer, projectID string) (*monitoringpb.UptimeCheckConfig, error) {
      	ctx := context.Background()
      	client, err := monitoring.NewUptimeCheckClient(ctx)
      	if err != nil {
      		return nil, fmt.Errorf("NewUptimeCheckClient: %w", err)
      	}
      	defer client.Close()
      	req := &monitoringpb.CreateUptimeCheckConfigRequest{
      		Parent: "projects/" + projectID,
      		UptimeCheckConfig: &monitoringpb.UptimeCheckConfig{
      			DisplayName: "new GET uptime check",
      			Resource: &monitoringpb.UptimeCheckConfig_MonitoredResource{
      				MonitoredResource: &monitoredres.MonitoredResource{
      					Type: "uptime_url",
      					Labels: map[string]string{
      						"host": "example.com",
      					},
      				},
      			},
      			CheckRequestType: &monitoringpb.UptimeCheckConfig_HttpCheck_{
      				HttpCheck: &monitoringpb.UptimeCheckConfig_HttpCheck{
      					RequestMethod: monitoringpb.UptimeCheckConfig_HttpCheck_GET,
      					Path:          "/",
      					Port:          80,
      				},
      			},
      			Timeout: &duration.Duration{Seconds: 10},
      			Period:  &duration.Duration{Seconds: 300},
      		},
      	}
      	config, err := client.CreateUptimeCheckConfig(ctx, req)
      	if err != nil {
      		return nil, fmt.Errorf("CreateUptimeCheckConfig GET: %w", err)
      	}
      	fmt.Fprintf(w, "Successfully created GET uptime check %q\n", config.GetDisplayName())
      	return config, nil
      }
      
      // createPost creates an example uptime check on a POST request.
      func createPost(w io.Writer, projectID string) (*monitoringpb.UptimeCheckConfig, error) {
      	ctx := context.Background()
      	client, err := monitoring.NewUptimeCheckClient(ctx)
      	if err != nil {
      		return nil, fmt.Errorf("NewUptimeCheckClient: %w", err)
      	}
      	defer client.Close()
      	req := &monitoringpb.CreateUptimeCheckConfigRequest{
      		Parent: "projects/" + projectID,
      		UptimeCheckConfig: &monitoringpb.UptimeCheckConfig{
      			DisplayName: "new POST uptime check",
      			Resource: &monitoringpb.UptimeCheckConfig_MonitoredResource{
      				MonitoredResource: &monitoredres.MonitoredResource{
      					Type: "uptime_url",
      					Labels: map[string]string{
      						"host": "example.com",
      					},
      				},
      			},
      			CheckRequestType: &monitoringpb.UptimeCheckConfig_HttpCheck_{
      				HttpCheck: &monitoringpb.UptimeCheckConfig_HttpCheck{
      					RequestMethod: monitoringpb.UptimeCheckConfig_HttpCheck_POST,
      					ContentType:   monitoringpb.UptimeCheckConfig_HttpCheck_URL_ENCODED,
      					Path:          "/",
      					Port:          80,
      					Body:          []byte(base64.URLEncoding.EncodeToString([]byte("key: value"))),
      				},
      			},
      			Timeout: &duration.Duration{Seconds: 10},
      			Period:  &duration.Duration{Seconds: 300},
      		},
      	}
      	config, err := client.CreateUptimeCheckConfig(ctx, req)
      	if err != nil {
      		return nil, fmt.Errorf("CreateUptimeCheckConfig POST: %w", err)
      	}
      	fmt.Fprintf(w, "Successfully created POST uptime check %q\n", config.GetDisplayName())
      	return config, nil
      }
      

      Node.js

      Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

      // Imports the Google Cloud client library
      const monitoring = require('@google-cloud/monitoring');
      
      // Creates a client
      const client = new monitoring.UptimeCheckServiceClient();
      
      /**
       * TODO(developer): Uncomment and edit the following lines of code.
       */
      // const projectId = 'YOUR_PROJECT_ID';
      // const hostname = 'mydomain.com';
      
      const request = {
        // i.e. parent: 'projects/my-project-id'
        parent: client.projectPath(projectId),
        uptimeCheckConfig: {
          displayName: 'My Uptime Check',
          monitoredResource: {
            // See the Uptime Check docs for supported MonitoredResource types
            type: 'uptime_url',
            labels: {
              host: hostname,
            },
          },
          httpCheck: {
            path: '/',
            port: 80,
          },
          timeout: {
            seconds: 10,
          },
          period: {
            seconds: 300,
          },
        },
      };
      
      // Creates an uptime check config for a GCE instance
      const [uptimeCheckConfig] = await client.createUptimeCheckConfig(request);
      console.log('Uptime check created:');
      console.log(`ID: ${uptimeCheckConfig.name}`);
      console.log(`Display Name: ${uptimeCheckConfig.displayName}`);
      console.log('Resource: %j', uptimeCheckConfig.monitoredResource);
      console.log('Period: %j', uptimeCheckConfig.period);
      console.log('Timeout: %j', uptimeCheckConfig.timeout);
      console.log(`Check type: ${uptimeCheckConfig.check_request_type}`);
      console.log(
        'Check: %j',
        uptimeCheckConfig.httpCheck || uptimeCheckConfig.tcpCheck
      );
      console.log(
        `Content matchers: ${uptimeCheckConfig.contentMatchers
          .map(matcher => matcher.content)
          .join(', ')}`
      );
      console.log(`Regions: ${uptimeCheckConfig.selectedRegions.join(', ')}`);
      

      PHP

      Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

      use Google\Api\MonitoredResource;
      use Google\Cloud\Monitoring\V3\Client\UptimeCheckServiceClient;
      use Google\Cloud\Monitoring\V3\CreateUptimeCheckConfigRequest;
      use Google\Cloud\Monitoring\V3\UptimeCheckConfig;
      
      /**
       * Example:
       * ```
       * create_uptime_check($projectId, 'myproject.appspot.com', 'Test Uptime Check!');
       * ```
       *
       * @param string $projectId Your project ID
       * @param string $hostName
       * @param string $displayName
       */
      function create_uptime_check($projectId, $hostName = 'example.com', $displayName = 'New uptime check')
      {
          $projectName = 'projects/' . $projectId;
          $uptimeCheckClient = new UptimeCheckServiceClient([
              'projectId' => $projectId,
          ]);
      
          $monitoredResource = new MonitoredResource();
          $monitoredResource->setType('uptime_url');
          $monitoredResource->setLabels(['host' => $hostName]);
      
          $uptimeCheckConfig = new UptimeCheckConfig();
          $uptimeCheckConfig->setDisplayName($displayName);
          $uptimeCheckConfig->setMonitoredResource($monitoredResource);
          $createUptimeCheckConfigRequest = (new CreateUptimeCheckConfigRequest())
              ->setParent($projectName)
              ->setUptimeCheckConfig($uptimeCheckConfig);
      
          $uptimeCheckConfig = $uptimeCheckClient->createUptimeCheckConfig($createUptimeCheckConfigRequest);
      
          printf('Created an uptime check: %s' . PHP_EOL, $uptimeCheckConfig->getName());
      }

      Python

      Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

      def create_uptime_check_config_get(
          project_id: str, host_name: str = None, display_name: str = None
      ) -> uptime.UptimeCheckConfig:
          """Creates a new uptime check configuration
      
          Args:
              project_id: Google Cloud project id where the uptime check is created
              host_name: An example label's value for the "host" label
              display_name: A human friendly name of the configuration
      
          Returns:
              A structure that describes a new created uptime check
          """
          config = monitoring_v3.UptimeCheckConfig()
          config.display_name = display_name or "New GET uptime check"
          config.monitored_resource = {
              "type": "uptime_url",
              "labels": {"host": host_name or "example.com"},
          }
          config.http_check = {
              "request_method": monitoring_v3.UptimeCheckConfig.HttpCheck.RequestMethod.GET,
              "path": "/",
              "port": 80,
          }
          config.timeout = {"seconds": 10}
          config.period = {"seconds": 300}
      
          client = monitoring_v3.UptimeCheckServiceClient()
          new_config = client.create_uptime_check_config(
              request={"parent": project_id, "uptime_check_config": config}
          )
          pprint.pprint(new_config)
          return new_config
      
      
      def create_uptime_check_config_post(
          project_id: str, host_name: str = None, display_name: str = None
      ) -> uptime.UptimeCheckConfig:
          """Creates a new uptime check configuration
      
          Args:
              project_id: Google Cloud project id where the uptime check is created
              host_name: An example label's value for the "host" label
              display_name: A human friendly name of the configuration
      
          Returns:
              A structure that describes a new created uptime check
          """
          config = monitoring_v3.UptimeCheckConfig()
          config.display_name = display_name or "New POST uptime check"
          config.monitored_resource = {
              "type": "uptime_url",
              "labels": {"host": host_name or "example.com"},
          }
          config.http_check = {
              "request_method": monitoring_v3.UptimeCheckConfig.HttpCheck.RequestMethod.POST,
              "content_type": monitoring_v3.UptimeCheckConfig.HttpCheck.ContentType.URL_ENCODED,
              "body": "foo=bar".encode("utf-8"),
              "path": "/",
              "port": 80,
          }
          config.timeout = {"seconds": 10}
          config.period = {"seconds": 300}
      
          client = monitoring_v3.UptimeCheckServiceClient()
          new_config = client.create_uptime_check_config(
              request={"parent": project_id, "uptime_check_config": config}
          )
          pprint.pprint(new_config)
          return new_config
      
      

      Ruby

      Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

      gem "google-cloud-monitoring"
      require "google/cloud/monitoring"
      
      def create_uptime_check_config project_id: nil, host_name: nil, display_name: nil
        client = Google::Cloud::Monitoring.uptime_check_service
        project_name = client.project_path project: project_id
        config = {
          display_name:       display_name.nil? ? "New uptime check" : display_name,
          monitored_resource: {
            type:   "uptime_url",
            labels: { "host" => host_name.nil? ? "example.com" : host_name }
          },
          http_check:         { path: "/", port: 80 },
          timeout:            { seconds: 10 },
          period:             { seconds: 300 }
        }
        new_config = client.create_uptime_check_config \
          parent:              project_name,
          uptime_check_config: config
        puts new_config.name
        new_config
      end

      REST

      Rufen Sie die Methode projects.uptimeCheckConfigs.create auf, um eine Verfügbarkeitsdiagnose zu erstellen. 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 des für Apps aktivierten Ordners aus. Dieses Feld hat das folgende Format:

        projects/PROJECT_ID
        
      • Der Anfragetext muss ein UptimeCheckConfig-Objekt für die neue Verfügbarkeitsdiagnose enthalten. Diese Seite enthält Informationen zu einigen Feldern. Eine vollständige Dokumentation zu diesem Objekt und seinen Feldern finden Sie unter UptimeCheckConfig:

        • Lassen Sie das Feld name des 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 HttpCheck des Objekts UptimeCheckConfig ausfüllen. Legen Sie in diesem Objekt das Feld requestMethod auf GET oder POST fest. Wenn dieses Feld ausgelassen oder auf METHOD_UNSPECIFIED gesetzt wird, wird eine GET-Anfrage ausgegeben.

          Wenn Sie eine POST-Anfrage konfigurieren, füllen Sie die Felder contentType, optional customContentType und body aus.

      Die Methode create gibt das Objekt UptimeCheckConfig für die neue Konfiguration zurück.

      Wenn die erstellte Verfügbarkeitsdiagnose nicht wie erwartet funktioniert, lesen Sie den Abschnitt Diagnosefehler 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 beispielsweise 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. Bei 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: Round-Trip-Zeit für jede fehlgeschlagene Ping-Anfrage.
      • unreachable_count: Anzahl der Pinganfragen, die den Statuscode ICMP_DEST_UNREACH zurü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 Verfügbarkeitsdiagnosen-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.
      • Es gibt für die Antwort keinen erforderlichen Inhalt bzw. der erforderliche Inhalt ist in der Antwort auffindbar.

      Fehlgeschlagene Überprü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. Ein Verbindungsfehler kann bei einer neuen Instanz auftreten, wenn Sie keinen Webserver installiert haben. Weitere Informationen finden Sie unter 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 IP-Adressen von Servern für 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.
      • 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. Achten Sie darauf, dass die Firewall Traffic von den für die Verfügbarkeitsdiagnose verwendeten Servern zulässt. Weitere Informationen erhalten Sie unter IP-Adressen der Server für die Verfügbarkeitsdiagnose auflisten. Das Zeitlimit ist Teil der Antwortvalidierung angegeben.

        Eine Zeitüberschreitung der 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 in Ihrer Benachrichtigungsrichtlinie die Standardkonfiguration verwendet wird, wird bei einem Fehler einer einzelnen Prüfung keine Benachrichtigung ausgelöst.

      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.

      Nächste Schritte