Verfügbarkeitswarnung einrichten

In dieser Anleitung erfahren Sie, wie Sie eine Verfügbarkeitswarnung für die Python Hello World-App einrichten, die in der flexiblen App Engine-Umgebung mit Cloud Monitoring ausgeführt wird. Verfügbarkeitsdiagnosen informieren Sie, wenn Ihre App keinen Traffic generiert. Sie können auch Verfügbarkeitswarnungen für Anwendungen einrichten, die in Compute Engine oder Google Kubernetes Engine (GKE) ausgeführt werden.

Lernziele

  • Führen Sie eine einfache Hello World-App aus.
  • Erstellen Sie eine Verfügbarkeitsdiagnose, die überwacht, ob die Anwendung den HTTP-Statuscode "200" zurückgibt.
  • Erstellen Sie eine Benachrichtigung, die Sie per E-Mail benachrichtigt, wenn die Verfügbarkeitsdiagnose fehlschlägt.
  • Starten Sie die App neu, um die Warnung auszulösen.

Kosten

Monitoring wird derzeit für Beta-Nutzer kostenlos angeboten.

Hinweis

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

Beispiel-App klonen

Die Beispielanwendung steht auf GitHub unter GoogleCloudPlatform/getting-started-python zur Verfügung.

  1. Klonen Sie das Repository.

    git clone https://github.com/GoogleCloudPlatform/getting-started-python.git
    
  2. Gehen Sie zum Beispielverzeichnis:

    cd getting-started-python/gce
    
  3. Da die Anwendung nur "Hello World!" zurückgibt, ist keine Konfiguration erforderlich und Sie können sie sofort ausführen.

    gcloud app deploy
    
  4. Geben Sie zum Anzeigen der zurückgegebenen Nachricht die folgende URL in Ihren Browser ein:

    https://PROJECT_ID.REGION_ID.r.appspot.com

    Ersetzen Sie Folgendes:

Cloud Monitoring für Ihr Projekt konfigurieren

Nachdem Sie Monitoring konfiguriert und Ihre Anwendung bereitgestellt haben, können Sie mit Monitoring eine Verfügbarkeitsdiagnose erstellen. Bei der Prüfung wird die bereitgestellte Anwendung fortlaufend angepingt, um sicherzustellen, dass sie eine fehlerfreie Antwort zurückgibt.

So greifen Sie auf Cloud Monitoring zu:
  1. Wählen Sie in der Cloud Console Ihr Google Cloud-Projekt aus.
    Zur Cloud Console
  2. Wählen Sie im Navigationsbereich Monitoring aus.

Verfügbarkeitsdiagnose erstellen

  1. Rufen Sie in der Cloud Console Monitoring auf.

    Zu Monitoring

  2. Klicken Sie im Navigationsbereich auf Verfügbarkeitsdiagnosen und dann auf Verfügbarkeitsdiagnose erstellen.

  3. Geben Sie einen Namen für die Diagnose ein, z. B. Check Hello World, und klicken Sie auf Weiter.

  4. Geben Sie im Abschnitt Ziel an, was die Verfügbarkeitsdiagnose überwachen soll:

    1. Da Sie es in App Engine bereitgestellt haben, ändern Sie den Ressourcentyp in App Engine statt in URL. (URL dient zum Generieren einer benutzerdefinierten URL auf einer Compute Engine-Instanz.)
    2. Wählen Sie den Dienst aus, der von der Verfügbarkeitsdiagnose überwacht werden soll.
    3. Lassen Sie Path leer, um standardmäßig zur Hauptindexseite zu gelangen.
    4. Behalten Sie für Überprüfungshäufigkeit den Standardwert 1 Minute bei.
    5. Klicken Sie auf Next (Weiter).
  5. Übernehmen Sie für die Felder Antwortvalidierung die Standardwerte und klicken Sie auf Weiter.

  6. Im Abschnitt Warnungen & Benachrichtigung legen Sie fest, wie Sie über eine Warnung informiert werden:

    • Vergewissern Sie sich, dass das Label des Umschalters Benachrichtigungen aktiviert ist.
    • Übernehmen Sie für die Felder für Name und Dauer die Standardwerte.
    • Wenn Sie der Benachrichtigungsrichtlinie einen Benachrichtigungskanal hinzufügen möchten, klicken Sie im Textfeld Benachrichtigungskanäle auf Menü . Wählen Sie die hinzuzufügenden Channels aus und klicken Sie auf OK. Die Benachrichtigungen sind für jeden Kanaltyp alphabetisch gruppiert.

      Um einen Eintrag zur Kästchenliste hinzuzufügen, klicken Sie auf Benachrichtigungskanäle verwalten und folgen Sie der Anleitung. Wenn Sie zu diesem Dialogfeld zurückkehren, klicken Sie auf Aktualisieren .

  7. Klicken Sie auf Erstellen. Wenn die Erstellung erfolgreich war, wird die Meldung Diagnose und Benachrichtigung erstellt angezeigt und die Dashboard-Seite Verfügbarkeitsdiagnosen wird angezeigt.

    Ihre neue Verfügbarkeitsdiagnose wird im Dashboard Uptime checks aufgelistet. Wenn Sie auf den Diagnosenamen klicken, öffnen Sie die Detailansicht für diese Verfügbarkeitsdiagnose. Diese Ansicht enthält mehrere Diagramme, den Prozentsatz der Betriebszeit und die Konfigurationsinformationen sowie die konfigurierten Benachrichtigungsrichtlinien. Klicken Sie auf den Namen einer Richtlinie, um sie anzeigen zu lassen.

    Sie können die Benachrichtigungsrichtlinie auch anzeigen. Rufen Sie dazu die Seite Alerting auf. Auf der Benachrichtigungsseite wird im Bereich Policies eine Teil der Richtlinien angezeigt. Klicken Sie auf See all policies, um eine Liste aller Richtlinien aufzurufen.

Einen Ausfall simulieren

Jetzt, da die Verfügbarkeitsdiagnose erstellt wurde, können Sie einen Ausfall simulieren, indem Sie Ihre Anwendung so ändern, dass sie mit einem HTTP-404 Sorry, we can't find that page- statt mit einer HTTP-200 OK-Antwort antwortet.

  1. Der folgende Code zeigt, wo die Hello World App nur "Hello World!" und dass der Statuscode der Antwort standardmäßig 200 OK lautet. Zum Anzeigen dieses Codes in der Hello World App verwenden Sie die Funktion view.

    # Copyright 2019 Google LLC All Rights Reserved.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/', methods=['GET'])
    def say_hello():
        return "Hello, world!"
    
    if __name__ == '__main__':
        app.run(host='127.0.0.1', port=8080, debug=True)
    
  2. Damit die Anwendung "Hello World" den HTTP-Fehlercode 404 zurückgibt, ändern Sie die Rückgabezeile, indem Sie dem zweiten Teil des Rückgabewerts einen 404-Wert hinzufügen.

    return 'Hello World', 404
  3. Stellen Sie die neue, vorsätzlich fehlerhafte App bereit:

    gcloud app deploy

    Innerhalb von einer halben Stunde erhalten Sie eine E-Mail mit dem Hinweis, dass Ihre Verfügbarkeitsdiagnose fehlschlägt.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.

So löschen Sie das Projekt:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.