In diesem Dokument wird beschrieben, wie Sie Benachrichtigungskanäle mithilfe von Clientbibliotheken oder der Google Cloud CLI erstellen und verwalten. Beide Methoden rufen die Cloud Monitoring API auf. Cloud Monitoring verwendet Benachrichtigungskanäle um Sie oder Ihr Bereitschaftsteam zu benachrichtigen, wenn die Bedingung einer erfüllt ist. Es sind mehrere Channel-Typen verfügbar: ist jeder Typ in einem Deskriptor des Benachrichtigungskanals. Ein Benachrichtigungskanal eines bestimmten Typs ist eine Instanz des Deskriptors für diesen Typ. Ihre Benachrichtigungsrichtlinien enthalten Verweise auf die Benachrichtigungskanäle, die als Benachrichtigungspfade verwendet werden können.
Ein Benachrichtigungskanal muss vorhanden sein, bevor er in einer Benachrichtigungsrichtlinie verwendet werden kann. Die Benachrichtigungskanal-Deskriptoren werden Ihnen zur Verfügung gestellt. Allerdings müssen Sie die Kanäle erstellen, bevor sie verwendet werden können.
Informationen zum Konfigurieren von Benachrichtigungskanälen mithilfe der Google Cloud Console finden Sie unter Benachrichtigungskanäle erstellen und verwalten.
Die in diesem Dokument verwendeten Codebeispiele werden aus dem Beispiel für eine Benachrichtigungsrichtlinie wie unter Beispiel: Sicherung und Wiederherstellung beschrieben.
Informationen zur API
Die Ressource NotificationChannel
unterstützt Vorgänge, mit denen Sie Ihre Benachrichtigungskanäle verwalten können. Es unterstützt auch Vorgänge im Zusammenhang mit
das Feld verificationStatus
eines Kanals verwalten:
- Einen Bestätigungscode senden
- Einen Code generieren, mit dem der Verifizierungsstatus eines verifizierten Kanals auf andere identische Kanäle in demselben oder einem neuen Projekt kopiert wird
- Den Kanal anhand des von den beiden vorherigen Vorgängen erstellten Codes verifizieren
Weitere Informationen finden Sie in der Referenz zu notificationChannels
.
Dokumente.
Hinweis
So erhalten Sie die Berechtigungen, die Sie zum Aufrufen und Konfigurieren von Benachrichtigungskanälen mithilfe der Cloud Monitoring API benötigen:
bitten Sie Ihren Administrator, Ihnen
IAM-Rolle Bearbeiter von Monitoring-Benachrichtigungskanälen (roles/monitoring.notificationChannelEditor
) für Ihr Projekt.
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.
Weitere Informationen zu Cloud Monitoring-Rollen finden Sie unter Zugriff mit Identity and Access Management steuern.
Benachrichtigungskanaltypen auflisten
Monitoring bietet eine Reihe von integrierten Benachrichtigungskanaltypen. Die einzelnen Typen werden in NotificationChannelDescriptor
beschrieben.
Diese Deskriptoren haben ein type
-Feld. Der Wert dieses Felds fungiert beim Erstellen von Instanzen dieses Kanaltyps als Kennzeichnung dafür. Um eine Liste der Kanaltypen abzurufen, die Sie mit der Methode
Cloud Monitoring API oder Google Cloud CLI den folgenden Befehl eingeben:
$ gcloud beta monitoring channel-descriptors list --format='value(type)'
campfire
email
google_chat
hipchat
pagerduty
pubsub
slack
sms
webhook_basicauth
webhook_tokenauth
Weitere Informationen zu Benachrichtigungskanälen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.
Wenn Ihr bevorzugter Benachrichtigungskanal nicht unterstützt wird, sollten Sie einen eine Pipeline, die Ihre Benachrichtigungen an Pub/Sub sendet. Ein Python-Beispiel, das Flask verwendet, finden Sie unter Benutzerdefinierte Benachrichtigungen mit Cloud Monitoring und Cloud Run erstellen Weitere Beispiele finden Sie im Git-Repository für cloud-alerting-notification-forwarding.
Zum Abrufen aller Kanaldeskriptoren in einem Google Cloud-Projekt verwenden Sie den
notificationChannelDescriptors.list
-Methode.
Die abgerufenen Deskriptoren sind schreibgeschützt.
Wenn Sie nach einem bestimmten Deskriptor suchen und dessen Namen kennen, können Sie die Methode notificationChannelDescriptors.get
verwenden, um nur diesen Kanaldeskriptor abzurufen. Der Name eines Kanaldeskriptors hat das Format projects/[PROJECT_ID]/notificationChannelDescriptors/[CHANNEL_TYPE]
. [CHANNEL_TYPE]
muss einem der oben aufgeführten Typen entsprechen, zum Beispiel:
projects/[PROJECT_ID]/notificationChannelDescriptors/email
gcloud
So listen Sie alle Deskriptoren des Benachrichtigungskanals in einem Google Cloud-Projekt auf:
Verwenden Sie den Befehl gcloud beta monitoring channel-descriptors list
:
gcloud beta monitoring channel-descriptors list
Bei Erfolg liefert der list
-Befehl eine Liste aller Kanalbeschreibungen im angegebenen Projekt. Der Kanaldeskriptor email
wird in der Liste zum Beispiel so angezeigt:
--- description: A channel that sends notifications via email. displayName: Email labels: - description: An address to send email. key: email_address name: projects/[PROJECT_ID]/notificationChannelDescriptors/email type: email ---
Alle Kanaldeskriptoren enthalten folgende Felder:
name
: Der vollständig qualifizierte Ressourcenname des Kanaldeskriptorstype
: Der Teil des Namens, der den Typ des Kanals angibtdisplayName
: Eine Beschreibung des Feldstype
zu Anzeigezweckendescription
: Eine kurze Beschreibung des Kanalslabels
: Eine Reihe von Feldern, die für einen Kanaltyp spezifisch sind. Jeder Kanaltyp hat seine eigenen Labels.
Wenn ein Kanal erstellt wird, erhält er außerdem ein enabled
-Feld mit dem Wert true
.
Wenn Sie hingegen einen einzelnen Kanaldeskriptor abrufen möchten, verwenden Sie stattdessen gcloud beta monitoring
channel-descriptors describe
und geben Sie den Namen des Kanaldeskriptors an. Sie müssen den vollständig qualifizierten Namen nicht angeben. Mit beiden Befehlen wird beispielsweise die obige Liste zurückgegeben:
gcloud beta monitoring channel-descriptors describe email
gcloud beta monitoring channel-descriptors describe projects/[PROJECT_ID]/notificationChannelDescriptors/email
Weitere Informationen finden Sie in den Referenzen gcloud beta monitoring channel-descriptors
list
und describe
. Der Befehl describe
entspricht der Methode notificationChannelDescriptors.get
in der API.
Benachrichtigungskanal erstellen
Sie können Benachrichtigungskanäle für Ihre Google Cloud-Projekte erstellen aus JSON- oder YAML-Dateien mithilfe der Methode Google Cloud CLI erstellen und Sie können sie programmatisch erstellen.
Sie müssen in seinem Deskriptor Werte für die Felder angeben, um einen Benachrichtigungskanal zu erstellen. Die meisten davon, wie type
, sind in allen Deskriptoren von Benachrichtigungskanälen üblich. Siehe notificationChannelDescriptors
.
Jeder Deskriptor verfügt auch über eine Reihe von Labels, die sich je nach Deskriptor unterscheiden. Rufen Sie zum Anzeigen der Labels für einen bestimmten Deskriptor Folgendes ab:
Deskriptor mithilfe von gcloud beta monitoring channel-descriptors describe
beschrieben, wie unter Typen von Benachrichtigungskanälen auflisten beschrieben.
Wenn Sie beispielsweise den Kanaldeskriptor email
abrufen, wird ein einzelnes Label angezeigt:
labels: - description: An address to send email. key: email_address
Der Kanaldeskriptor pubsub
enthält ebenfalls ein einzelnes Label. dieses Label
das Pub/Sub-Thema identifiziert. Kanäle können jedoch mehrere Labels enthalten. Der Kanaldeskriptor slack
hat beispielsweise zwei Labels:
labels: - description: A permanent authentication token provided by Slack. This field is obfuscated by returning only a few characters of the key when fetched. key: auth_token - description: The Slack channel to which to post notifications. key: channel_name
Beim Abrufen des Kanaldeskriptors webhook_basicauth
werden mehrere Labels angezeigt:
labels: - description: The password. The field is obfuscated when the channel is fetched. key: password - description: The public URL to which to publish the webhook. key: url - description: The username. key: username
Unabhängig davon, ob Sie einen neuen Kanal programmatisch oder über die Befehlszeile erstellen, muss der Wert von type
in Ihrer Spezifikation mit dem Feld type
im entsprechenden Deskriptor des Benachrichtigungskanals übereinstimmen. Erforderliche Labelschlüssel müssen auch mit denen im Kanaldeskriptor übereinstimmen.
Einige Labels entsprechen Anmeldedaten, die zur Authentifizierung beim Dienstanbieter verwendet werden. Wenn Sie einen Kanal erstellen, müssen Sie die Werte für diese Labels vom Dienstanbieter beziehen. Zum Abrufen von Anmeldedaten ist möglicherweise die Nutzung einer Seite zur Generierung von API-Schlüsseln erforderlich auf der Website des Anbieters oder die Durchführung eines OAuth-Anmeldevorgangs beim Anbieter. Wie Sie solche Anmeldedaten abrufen können, hängt vom jeweiligen Dienstanbieter ab.
Das folgende Beispiel zeigt die Spezifikation eines neuen pubsub
-Benachrichtigungskanals in JSON:
{ "type": "pubsub", "displayName": "Notifications", "description": "Pub/Sub channel for notifications", "labels": { "topic": "projects/[PROJECT_ID]/topics/notificationTopic" }, }
Der type
-Wert (pubsub
) und der einzelne Labelschlüssel (topic
) entsprechen den Feldern type
und labels.key
des betreffenden Kanaldeskriptors.
Kanäle sind standardmäßig aktiviert. Wenn Sie einen inaktiven Kanal erstellen möchten, können Sie das Feld enabled
mit dem Wert false
einschließen.
Die folgenden Beispiele veranschaulichen das Erstellen von Benachrichtigungskanälen.
gcloud
Verwenden Sie den Befehl gcloud beta monitoring
channels create
, um einen Benachrichtigungskanal in einem Google Cloud-Projekt zu erstellen. Zum Laden des Kanals aus einer Datei verwenden Sie das Flag --channel-content-from-file
, um die Datei anzugeben.
Im folgenden Beispiel wird ein neuer Pub/Sub-Kanal aus der pubsub-channel.json
-Datei erstellt:
gcloud beta monitoring channels create --channel-content-from-file="pubsub-channel.json"
Bei Erfolg gibt dieser Befehl den Namen des neuen Kanals zurück, zum Beispiel:
Created notification channel [projects/[PROJECT_ID]/notificationChannels/1355376463305411567].
Weitere Informationen finden Sie in der Referenz gcloud beta monitoring channels create
.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Beispiel: Slack-Benachrichtigungskanal erstellen
So konfigurieren Sie einen Benachrichtigungskanal für eine Slack-App:
Konfigurieren Sie Ihre Slack-App:
- Wenn Sie noch keine Slack-App haben, folgen Sie der Slack-Referenzdokumentation zum Erstellen und Installieren in Ihrem Arbeitsbereich.
- Konfigurieren Sie Ihre Slack-Anwendung mit OAuth-Bereichen für
chat:write
undchat:write.public
- Kopieren Sie das OAuth-Token des Bot-Nutzers der App.
Erstellen Sie eine Datei, in der die Konfiguration Ihres Benachrichtigungskanals definiert ist. Fügen Sie ein Label ein, bei dem der Schlüssel
auth_token
den Wert des OAuth-Tokens des Bot-Nutzers Ihrer Slack-App hat. Beispiel:{ "description": "A Slack notification channel", "displayName": "Slack", "type": "slack", "enabled": true, "labels": { "auth_token": "OAUTH_TOKEN_VALUE", "channel_name": "SLACK_CHANNEL_NAME" } }
Führen Sie den folgenden Befehl aus, um den Benachrichtigungskanal zu erstellen:
gcloud beta monitoring channels create --channel-content-from-file="FILE_NAME"
Benachrichtigungskanäle in einem Projekt auflisten
Mit der Methode notificationChannels.list
können Sie alle Benachrichtigungskanäle in einem Google Cloud-Projekt abrufen. Diese Methode unterstützt auch die Optionen filter
und orderBy
zum Eingrenzen und Sortieren der Ergebnisse. Weitere Informationen finden Sie unter Sortieren und Filtern.
Wenn Sie einen bestimmten Kanal suchen und dessen Namen kennen, können Sie mit der Methode notificationChannels.get
gezielt diesen Kanal abrufen. Der Name eines Kanals hat das Format projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
, z. B.:
projects/[PROJECT_ID]/notificationChannels/1355376463305411567
Wenn Sie einen Kanal abrufen, werden aus Sicherheitsgründen unter Umständen vertrauliche Werte wie Authentifizierungstoken und API-Schlüssel verschleiert. Wenn Sie einen neuen Kanal durch Kopieren eines vorhandenen erstellen, müssen alle verschleierten Werte korrigiert werden.
gcloud
Wenn Sie alle Benachrichtigungskanäle in einem Google Cloud-Projekt auflisten möchten, verwenden Sie die Methode
Befehl gcloud beta monitoring channels list
:
gcloud beta monitoring channels list
Bei Erfolg liefert der list
-Befehl eine Liste aller Kanäle im angegebenen Projekt. Der obige Befehl könnte beispielsweise eine Liste mit den folgenden Einträgen zurückgeben:
--- description: E-mail channel created by gcloud as a test displayName: test e-mail channel enabled: false labels: email_address: user@example.com name: projects/[PROJECT_ID]/notificationChannels/1355376463305411567 type: email --- description: Pub/Sub channel for notifications displayName: Notifications enabled: true labels: topic: projects/[PROJECT_ID]/topics/notificationTopic name: projects/[PROJECT_ID]/notificationChannels/1355376463305411567 type: pubsub
Wenn Sie hingegen einen einzelnen Kanal abrufen möchten, verwenden Sie stattdessen gcloud beta monitoring
channels describe
und geben Sie den Namen des Kanals an.
Dieser Befehl gibt beispielsweise den oben angezeigten Pub/Sub-Kanal zurück:
gcloud beta monitoring channels describe projects/[PROJECT_ID]/notificationChannels/1355376463305411567
Weitere Informationen finden Sie in den Referenzen gcloud beta monitoring channels list
und describe
. Der Befehl describe
entspricht der Methode notificationChannels.get
in der API.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Benachrichtigungskanal aus einem Projekt löschen
Verwenden Sie zum Löschen eines Benachrichtigungskanals aus einem Google Cloud-Projekt den
notificationChannels.delete
-Methode und geben den Namen an
des zu löschenden Benachrichtigungskanals. Er entspricht dem Wert des Felds name
und nicht dem displayName
in der Instanz NotificationChannel
.
Der Name eines Kanals hat das Format projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
, z. B.:
projects/[PROJECT_ID]/notificationChannels/1355376463305411567
Wenn du versuchst, einen Kanal zu löschen, auf den von einem
wird der Kanal nicht gelöscht. Wenn Sie das Entfernen von Verweisen aus Benachrichtigungsrichtlinien erzwingen und den Kanal löschen möchten, setzen Sie die Option force
auf true
. Mit dieser Option wird der Kanal automatisch aus allen
auf Richtlinien verweisen.
gcloud
Verwenden Sie zum Löschen eines Benachrichtigungskanals gcloud beta monitoring channels
delete
und geben Sie den Namen des zu löschenden Kanals an. Mit dem folgenden Befehl wird beispielsweise der in einem anderen Beispiel erstellte Kanal email
gelöscht:
gcloud beta monitoring channels delete projects/[PROJECT_ID]/notificationChannels/1355376463305411567
Weitere Informationen finden Sie in der Referenz gcloud beta monitoring channels delete
.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Benachrichtigungskanal ändern
Verwenden Sie zum Ändern eines Benachrichtigungskanals die Methode notificationChannels.patch
(in der REST API).
Andere API-Implementierungen und die Google Cloud CLI nennen dies update
statt patch
.
Ein Updatevorgang kann den vorhandenen Kanal vollständig ersetzen oder eine Teilmenge von Feldern ändern. Zum Beispiel können Sie den Kanal aktivieren und deaktivieren. Das Deaktivieren eines Kanals verhindert die Zustellung von Benachrichtigungen an den Kanal. Das Deaktivieren eines Kanals ist in der Regel unkomplizierter als das Entfernen des Kanals aus den Benachrichtigungsrichtlinien, die auf den Kanal verweisen, wenn die Änderung vorübergehend sein soll.
gcloud
Wenn Sie einen deaktivierten Benachrichtigungskanal aktivieren möchten, verwenden Sie den Befehl gcloud beta monitoring channels update
und geben Sie das Flag --enabled
an. Mit dem folgenden Befehl wird der Benachrichtigungskanal email
, der in einem vorstehenden Beispiel im deaktivierten Status erstellt wurde, aktiviert:
gcloud beta monitoring channels update projects/[PROJECT_ID]/notificationChannels/1355376463305411567 --enabled
Wenn Sie eine Richtlinie deaktivieren möchten, verwenden Sie denselben Befehl und geben Sie das Flag --no-enabled
an.
Weitere Informationen finden Sie in der Referenz zu gcloud beta monitoring channels update
. Der Befehl update
entspricht der Methode notificationChannels.patch
in der REST API.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Logs für Benachrichtigungskanäle ansehen
Sie können den Log-Explorer verwenden, um Fehler von Benachrichtigungskanälen anzusehen:
-
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Geben Sie die Abfrage ein und führen Sie sie aus. Bei Suchanfragen speziell für Fehler bei Benachrichtigungskanälen finden Sie unter Cloud Monitoring-Abfragen.