Systemdiagnose für die Cloud Composer-Umgebung

Aufgrund der Mikrodienstarchitektur von Cloud Composer umfasst das End-to-End-Aktivitäts-Monitoring Ihrer Airflow-Konfiguration mehrere Messwerte. In dieser Anleitung wird ein Ansatz zur Verwendung der logbasierten Messwerte der Operations Suite von Google Cloud gezeigt, um Monitoring und Benachrichtigungen anhand eines benutzerdefinierten Messwerts einzurichten.

Ziele

  • Einfachen DAG bereitstellen, der im Abstand weniger Minuten in der Cloud Composer-Umgebung ausgeführt wird
  • Logs nutzen, die die Operations Suite von Google Cloud für Cloud Composer generiert, um mithilfe der logbasierten Messwerte einen benutzerdefinierten Messwert zu erstellen
  • Monitoring und Benachrichtigungen anhand des benutzerdefinierten Messwerts einrichten

Kosten

Cloud Composer ist ein kostenpflichtiges Produkt. Für die Nutzung von Cloud Composer in Rahmen dieser Anleitung fallen Kosten an. Weitere Informationen finden Sie unter Preise. Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung erstellen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Vorbereitung

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  2. Wählen Sie in der Cloud Console auf der Seite für die Projektauswahl ein Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Erstellen Sie eine Cloud Composer-Umgebung.
  5. Sorgen Sie dafür, dass Sie die entsprechenden Berechtigungen haben. Die folgenden Berechtigungen sind erforderlich, um auf Logs und Messwerte für die Cloud Composer-Umgebung zuzugreifen:
    • Schreibgeschützter Zugriff auf Logging und Monitoring: logging.viewer und monitoring.viewer
    • Schreibgeschützter Zugriff auf Logging, einschließlich privater Logs: logging.privateLogViewer
    • Lese-/Schreibzugriff auf Monitoring: monitoring.editor

    Weitere Informationen finden Sie unter Cloud Composer-Zugriffssteuerung.

DAG in die Umgebung aufnehmen

  1. Laden Sie den folgenden DAG in den Cloud Storage-Bucket für die Umgebung hoch:

    import airflow
    from airflow import DAG
    from airflow.operators.bash_operator import BashOperator
    from datetime import timedelta
    
    default_args = {
        'retries': 1,
        'retry_delay': timedelta(minutes=5),
        'start_date': airflow.utils.dates.days_ago(0)
    }
    
    dag = DAG(
        'liveness',
        default_args=default_args,
        description='liveness monitoring dag',
        schedule_interval=timedelta(minutes=1))
    
    t1 = BashOperator(
        task_id='echo', bash_command='echo test', dag=dag, depends_on_past=False)
    
  2. Warten Sie, bis Airflow den DAG geplant hat. Sie können den Status in der Airflow-Weboberfläche prüfen.

    Airflow-Weboberfläche

Logbasierten Zählermesswert in der Operations Suite von Google Cloud erstellen

  1. Rufen Sie die Loganzeige auf.

    Zur Loganzeige

  2. Achten Sie darauf, dass oben auf der Seite das richtige Projekt ausgewählt ist, oder wählen Sie über das Drop-down-Menü oben auf der Seite ein Projekt aus.

  3. Wählen Sie im Ressourcenfeld die Option Cloud Composer-Umgebung und dann den Standort und den Umgebungsnamen aus.

  4. Wählen Sie im Feld für den Logtyp airflow-worker aus.

  5. Erstellen Sie in der Filterleiste einen Filter, damit nur Logs angezeigt werden, die der Aktivitäts-DAG ausgibt. Geben Sie dafür das folgende Label ein: label:workflow:liveness.

  6. Klicken Sie oben auf der Seite auf Messwert erstellen. Der Messwerteditor wird auf der rechten Seite und der Anzeigebereich mit Ihren Logs auf der linken Seite angezeigt.

    Messwert erstellen

  7. Legen Sie im Messwerteditor Werte für die folgenden Felder fest:

    1. Name: Wählen Sie einen Namen aus, der unter den logbasierten Messwerten in Ihrem Projekt nur einmal vorkommt, z. B. liveness-logs-cnt.
    2. Beschreibung: Beschreiben Sie den Messwert.
    3. Typ: Zähler
  8. Klicken Sie auf Messwert erstellen. Die Seite "Logbasierte Messwerte" wird angezeigt.

Benachrichtigungsrichtlinie erstellen

  1. Klicken Sie auf der Seite "Logbasierte Messwerte" das Kästchen für den Messwert an, für den Sie eine Richtlinie erstellen möchten, und wählen Sie im Menü rechts neben dem Messwerteintrag Benachrichtigung mit dem Messwert erstellen aus. Die Seite Neue Benachrichtigungsrichtlinie erstellen wird angezeigt.

    Benachrichtigung erstellen

  2. Klicken Sie auf der Seite Neue Benachrichtigungsrichtlinie erstellen im Bereich Bedingungen auf Bearbeiten. Ein bereits ausgefülltes Fenster Messwert erstellen wird angezeigt.

  3. (Optional) Geben Sie einen Namen für die Bedingung ein.

  4. Wählen Sie im Bereich "Ziel" für Aggregator den Wert Anzahl aus.

  5. Legen Sie im Bereich "Konfiguration" für Grenzwert den Wert nach Bedarf fest.

    Grafik: Benachrichtigungsrichtlinie

  6. Klicken Sie auf Speichern. Der Bereich Neue Benachrichtigungsrichtlinie erstellen wird mit der fertigen Bedingung angezeigt.

  7. Füllen Sie die Bereiche Benachrichtigungen, Dokumentation und Richtlinie benennen der Benachrichtigungsrichtlinie aus.

  8. Klicken Sie auf Speichern.

Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud Platform-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite "Ressourcen verwalten"

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen .
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.

Nächste Schritte

Umzu erfahren, wie Sie Messwerte für die Cloud Composer-Umgebung mithilfe eines benutzerdefinierten Dashboards ansehen können, lesen Sie die Informationen unter Umgebungs- und Workflow-Monitoring in der Operations Suite von Google Cloud.