In diesem Dokument wird beschrieben, wie Sie Benachrichtigungen für Ereignisse zum Dienststatus einrichten, anpassen und testen.
Personalized Service Health ist in Cloud Monitoring-Logbenachrichtigungen eingebunden, sodass Sie Benachrichtigungen konfigurieren und empfangen können. Sie können Benachrichtigungen für die folgenden Bedingungen erstellen:
- Wenn neue Vorfälle gemeldet werden.
- Wenn vorhandene Vorfälle aktualisiert werden, z. B. wenn der Google Cloud Support eine neue Nachricht sendet.
- Wenn Vorfälle für bestimmte Google Cloud Produkte oder Standorte wie Regionen erstellt oder aktualisiert werden.
- Wenn bestimmte Details vorhandener Vorfälle aktualisiert werden, z. B. Status und Relevanz.
Da für diese Benachrichtigungen Log-Benachrichtigungen verwendet werden, ist jede Benachrichtigung einem Monitoring-Vorfall zugeordnet. Jede Benachrichtigung enthält Links zur Seite des Vorfalls und einen direkten Link zum Service Health Dashboard. Weitere Informationen zum Untersuchen von Vorfällen
Nachdem Sie eine Benachrichtigung konfiguriert haben, erhalten Sie jedes Mal eine Benachrichtigung, wenn die Bedingungen Ihrer Benachrichtigungsrichtlinie erfüllt sind. Für diese Benachrichtigungen gelten Überwachungslimits, z. B. 20 Benachrichtigungen pro Richtlinie pro Tag und Projekt.
In den folgenden Abschnitten wird beschrieben, wie Sie eine Richtlinie für Logbenachrichtigungen konfigurieren. Außerdem finden Sie Beispiele für häufige Benachrichtigungsszenarien. Log-Benachrichtigungen basieren auf Benachrichtigungskanälen, die eine Vielzahl von Integrationen unterstützen, darunter E-Mail, SMS, Pub/Sub, Webhooks, Slack und PagerDuty.
Wenn Sie eine Benachrichtigung an ein anderes Ziel als die oben aufgeführten Optionen weiterleiten möchten, können Sie einen Webhook verwenden. Sie können beispielsweise einen Webhook für ServiceNow konfigurieren. Weitere Informationen finden Sie in der ServiceNow-Dokumentation unter Webhook in Google Cloudkonfigurieren.
Formate für Benachrichtigungen
Die Formate von Benachrichtigungen variieren je nach Benachrichtigungskanal.
Wenn Sie den Alarm so konfigurieren, dass eine E-Mail gesendet wird, wenn die Alarmbedingung erfüllt ist, wird eine Nachricht mit der Adresse alerting-noreply@google.com an die von Ihnen ausgewählte E-Mail-Adresse gesendet.
Slack
Wenn Sie Ihre benutzerdefinierte Benachrichtigung so konfigurieren, dass sie in Slack gepostet wird, wird bei Eintreten des Ereignisses eine Nachricht von der Cloud Monitoring-Anwendung im ausgewählten Kanal angezeigt.
Benachrichtigungsrichtlinie einrichten
Für eine Benachrichtigung wird eine Benachrichtigungsrichtlinie verwendet, in der beschrieben wird, unter welchen Umständen und wie Sie benachrichtigt werden möchten.
Sie können Benachrichtigungsrichtlinien im Service Health-Dashboard oder mit der Google Cloud CLI konfigurieren.
Für Benachrichtigungsrichtlinien ist ein Cloud Monitoring-Benachrichtigungskanal erforderlich, in dem festgelegt wird, wohin eine Benachrichtigung gesendet wird. Wenn Sie keinen Benachrichtigungskanal haben, können Sie einen in der Google Cloud Console oder über die Monitoring API erstellen.
Im Dashboard für den Dienststatus
Weitere Informationen finden Sie in der Kurzanleitung.
gcloud-Befehlszeile verwenden
So richten Sie eine Benachrichtigungsrichtlinie mit der gcloud CLI ein:
Rufen Sie die ID Ihres Benachrichtigungskanals ab.
a. Benachrichtigungskanal-IDs auflisten
gcloud config set project PROJECT_ID gcloud beta monitoring channels list
b. Suchen Sie nach Einträgen mit
projects/PROJECT_ID/notificationChannels/
. Diese Einträge sind die IDs der Benachrichtigungskanäle.Erstellen Sie eine
policy.json
-Datei mit folgendem Inhalt:ALERT_NAME wird in der Benachrichtigung angezeigt. Beispiel: „Google Cloud SQL-Vorfall“
ALERT_CONDITION definiert, wann eine Benachrichtigung gesendet werden soll.
- Verwenden Sie beim Definieren von Bedingungen die Werte, die unter Google Cloud products und locations zu finden sind.
Beispiel für Benachrichtigungsbedingungen:
Benachrichtigungsbedingung ALERT_CONDITION Wert Warnungen für jedes Cloud SQL-Ereignis erhalten jsonPayload.impactedProductIds =~ \"hV87iK5DcEXKgWU2kDri\"
Warnungen für alle Ereignisse in Zone us-central1-a
erhaltenjsonPayload.impactedLocations =~ \"us-central1-a\"
NOTIFICATION_CHANNEL ist die ID des Benachrichtigungskanals, die Sie im vorherigen Schritt mit dem Befehl „list“ abgerufen haben. Beispiel:
projects/PROJECT_ID/notificationChannels/885798905074
.
Das folgende Snippet zeigt ein Beispiel für die
policy.json
-Datei.{ "displayName": "ALERT_NAME", "combiner": "OR", "conditions": [ { "displayName": "Log match condition", "conditionMatchedLog": { "filter": "ALERT_CONDITION", } } ], "notificationChannels": [ "NOTIFICATION_CHANNEL" ], }
Erstellen Sie die Cloud Monitoring-Richtlinie.
gcloud config set project PROJECT_ID gcloud alpha monitoring policies create --policy-from-file="policy.json"
Inhalt der Benachrichtigung anpassen
Sie können die Felder in der Benachrichtigung über die folgenden Felder in der JSON-Datei festlegen:
labelExtractors
: Die Attribute, die in der Kopfzeile der Benachrichtigung enthalten sein sollen. Informationen zum Anpassen dieser Attribute finden Sie im LabelExtractors-Leitfaden.content
: Die Formatierung der E-Mail-Benachrichtigung. Sie können die Markdown-Variablensubstitution verwenden, mit der SielabelExtractors
als Variablen verwenden können. Informationen zum Anpassen dieser Variablen finden Sie in dieser Anleitung.
Beispiele für Benachrichtigungsrichtlinien und ‑bedingungen
Benachrichtigung testen
Zum Testen der Benachrichtigung verwenden Sie ein Beispiel-Testlog mit Cloud Logging. Im Testlog wird die von Ihnen zuvor konfigurierte Benachrichtigungslogik angezeigt.
Google Cloud Console verwenden
Gehen Sie dazu so vor:
- Rufen Sie die Referenzseite für die Methode „entries:write“ auf, mit der Sie Logeinträge in Cloud Logging schreiben können. Ein Fenster wird geöffnet, in dem Sie die Methode ausprobieren können.
- Ändern Sie im Anfragetext PROJECT_ID in Ihr eigenes Projekt.
Ändern Sie alle
jsonPayload
-Felder im Anfragetext entsprechend der zu testenden Benachrichtigungsbedingung. Sie können auch das Schema event_log.proto prüfen und die Werte im Log anpassen, um bestimmte Szenarien zu testen, die Sie interessieren.{ "entries": [ { "logName": "projects/PROJECT_ID/logs/servicehealth.googleapis.com%2Factivity", "resource": { "type": "servicehealth.googleapis.com/Event", "labels": { "resource_container": "PROJECT_ID", "location": "global", "event_id": "U4AqrjwFQYi5fFBmyAX-Gg" } }, "labels": { "servicehealth.googleapis.com/new_event": "true", "servicehealth.googleapis.com/updated_fields": "[]" }, "jsonPayload": { "@type": "type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog", "category": "INCIDENT", "title": "EXAMPLE... NOT REAL INCIDENT", "description": "EXAMPLE FOR TESTING, NOT REAL INCIDENT. We are experiencing an issue with Google Cloud infrastructure components at us-east1, australia-southeast2. Our engineering team continues to investigate the issue. We apologize to all who are affected by the disruption.", "updateTime": "2022-07-15T22:26:40Z", "endTime": "2022-07-16T22:13:20Z", "impactedLocations": "['us-east1', 'australia-southeast2']", "impactedProducts": "['CloudSQL']", "impactedProductIds": "['hV87iK5DcEXKgWU2kDri']", "startTime": "2022-07-13T12:26:40Z", "nextUpdateTime": "2022-07-13T16:26:40Z", "state": "ACTIVE", "detailedState": "CONFIRMED", "relevance": "RELATED" } } ] }
Klicken Sie auf Ausführen. Ein Fenster wird angezeigt, in dem Google APIs Explorer Zugriff auf Ihr Konto anfordert.
Zugriff auf den Google APIs Explorer zulassen. Das Fenster mit dem Anfragetext zeigt den folgenden Screenshot, der einen erfolgreichen Vorgang angibt.
Warten Sie einige Minuten und prüfen Sie dann, ob die Benachrichtigung ausgelöst wurde.
Rufen Sie in der Google Cloud Console die Seite Cloud Monitoring > Vorfälle auf.
Prüfen Sie, ob Sie über den Benachrichtigungskanal, der von der Benachrichtigungsrichtlinie verwendet wird, eine Benachrichtigung erhalten haben.
Wenn Sie die Benachrichtigung noch einmal testen möchten, warten Sie mindestens fünf Minuten.
gcloud verwenden
Sie können auch einen Testlogeintrag erstellen, indem Sie die Cloud Logging API mit dem gcloud-Befehl aufrufen.
Optional: Aktuelles Projekt prüfen
gcloud config list
Aktuelles Projekt festlegen
gcloud_name config set project PROJECT_ID
Schreiben Sie den Testlog-Eintrag.
gcloud logging write --payload-type=json LOG_NAME '{ "category": "INCIDENT", "relevance": "IMPACTED", "@type": "type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog", "description": "This is a test log entry"}'
Warten Sie einige Minuten und prüfen Sie dann, ob die Benachrichtigung ausgelöst wurde.