Plattform-Logs verwenden

Auf dieser Seite wird beschrieben, wie Sie Plattformlogs aufrufen, die von der SaaS-Laufzeit generiert werden. Plattformlogs in Google Cloud sind dienstspezifische Logs, mit denen Sie Fehler und Probleme beheben sowie die von Ihnen verwendeten Google Cloud-Dienste besser verstehen können.

Weitere Informationen zu unterstützten SaaS-Laufzeit-Plattformlogs finden Sie unter Google Cloud -Plattformlogs. Weitere Informationen zum Interpretieren der Daten in den Plattformlogtabellen finden Sie unter Logeintragsstruktur.

Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für Ihr Google Cloud -Projekt muss aktiviert sein.
  3. Aktivieren Sie die SaaS Runtime API.
  4. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen (Identity and Access Management) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen von Logs und Erstellen von Benachrichtigungen benötigen:
    • Loganzeige (roles/logging.viewer)
    • Monitoring-Editor (roles/monitoring.editor)

Logbasierte Benachrichtigungen erstellen

Wenn Sie eine logbasierte Benachrichtigung erstellen möchten, erstellen Sie im Log-Explorer eine Abfrage, die die Logeinträge zurückgibt, für die Sie benachrichtigt werden möchten. Anschließend konfigurieren Sie die Benachrichtigungsrichtlinie.

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Geben Sie im Abfrageeditor eine Abfrage ein, um nach den ausgewählten Logeinträgen zu filtern. Beispielabfragen finden Sie in den folgenden Abschnitten.

  3. Klicken Sie auf Benachrichtigung erstellen.

  4. Geben Sie einen Namen und eine Beschreibung für die Benachrichtigungsrichtlinie ein.

  5. Konfigurieren Sie die Benachrichtigungsdetails, einschließlich der Benachrichtigungskanäle.

  6. Klicken Sie auf Benachrichtigung speichern.

Eine detaillierte Anleitung finden Sie unter Logbasierte Benachrichtigung erstellen.

Beispielabfragen für Plattformprotokolle

Dieser Abschnitt enthält Beispielabfragen für häufige Benachrichtigungsszenarien basierend auf SaaS Runtime-Plattformlogs.

SaaS-Betriebswarnungen

Wenn Sie eine Benachrichtigung erstellen möchten, die ausgelöst wird, wenn ein Vorgang zur Bereitstellung einer Einheit fehlschlägt, verwenden Sie die folgende Abfrage:

protoPayload.methodName="google.cloud.saasplatform.saasservicemgmt.v1beta1.SaasDeployments.CreateUnitOperation"
protoPayload.response.state="UNIT_OPERATION_STATE_FAILED"

Wenn Sie eine Benachrichtigung erstellen möchten, die ausgelöst wird, wenn ein Vorgang zur Bereitstellung einer Einheit einen Endstatus erreicht (erfolgreich, fehlgeschlagen oder abgebrochen), verwenden Sie die folgende Abfrage:

jsonPayload.@type="type.googleapis.com/google.cloud.saasservicemgmt.logging.v1.UnitOperationLog"
AND (jsonPayload.unit_operation_state="UNIT_OPERATION_STATE_SUCCEEDED" OR jsonPayload.unit_operation_state="UNIT_OPERATION_STATE_FAILED" OR jsonPayload.unit_operation_state="UNIT_OPERATION_STATE_CANCELLED")
AND jsonPayload.unit_operation_type="PROVISION"

Roll-out-Benachrichtigungen

Wenn Sie eine Benachrichtigung erstellen möchten, wenn ein regionaler Roll-out aus einem anderen Grund als einer Nutzeraktion den Status PAUSED oder FAILED erreicht, verwenden Sie die folgende Abfrage:

jsonPayload.@type="type.googleapis.com/google.cloud.saasservicemgmt.logging.v1.RolloutLog"
AND (jsonPayload.current_state="PAUSED" OR jsonPayload.current_state="FAILED")
AND jsonPayload.reason!="USER_PAUSE"
AND jsonPayload.root_rollout_id != resource.labels.rollout_id

Wenn Sie eine Benachrichtigung erstellen möchten, wenn ein globaler Roll-out den Status PAUSED oder FAILED erreicht, verwenden Sie die folgende Abfrage:

jsonPayload.@type="type.googleapis.com/google.cloud.saasservicemgmt.logging.v1.RolloutLog"
AND (jsonPayload.current_state="PAUSED" OR jsonPayload.current_state="FAILED")
AND jsonPayload.root_rollout_id == resource.labels.rollout_id

Verwenden Sie die folgende Abfrage, um eine Logbenachrichtigung zu erstellen, wenn ein Rollout in den Status PAUSED (weil die SaaS-Laufzeit den Rollout als fehlerhaft erkannt hat) oder FAILED wechselt:

logName:"rollout_events" 
(jsonPayload.currentState="PAUSED" jsonPayload.reason="SYSTEM_PAUSE")
OR 
jsonPayload.currentState="FAILED

Wenn Sie eine Logbenachrichtigung für Messwerte zum Rollout-Status erstellen möchten, wenn ein Rollout in den Status PAUSED (weil die SaaS-Laufzeit den Rollout als fehlerhaft erkannt hat) oder FAILED wechselt, verwenden Sie die folgende Abfrage:

saasservicemgmt_googleapis_com:rollout_state
{state_name="PAUSED", reason="SYSTEM_PAUSE"}
OR
saasservicemgmt_googleapis_com:rollout_state{state_name="FAILED"}

Nächste Schritte