Este documento descreve como criar e gerir canais de notificação através de bibliotecas cliente ou da CLI Google Cloud, que invocam a API Cloud Monitoring. O Cloud Monitoring usa canais de notificação para enviar-lhe notificações ou à sua equipa de intervenção quando a condição de uma política de alerta é cumprida. Existem vários tipos de canais disponíveis. Cada tipo é descrito num descritor de canal de notificação. Um canal de notificação de um determinado tipo é uma instância do descritor desse tipo. As suas políticas de alerta incluem referências aos canais de notificação a usar como caminhos de notificação.
Tem de existir um canal de notificação antes de poder ser usado numa política de alertas. Os descritores de canais de notificação são-lhe fornecidos, mas tem de criar os canais antes de os poder usar.
Para configurar canais de notificação através da Google Cloud consola, consulte o artigo Crie e faça a gestão de canais de notificação.
Os exemplos de código usados neste documento são extraídos do exemplo da API alerting-policy, descrito em Exemplo: cópia de segurança e restauro.
Acerca da API
O recurso NotificationChannel
suporta operações que lhe permitem gerir os seus canais de notificação. Também suporta operações relacionadas com a gestão do campo verificationStatus
de um canal:
- Enviar um código de validação
- Gerar um código para copiar o estado de validação de um canal validado para outros canais idênticos no mesmo projeto ou num novo projeto
- Validar o canal através do código criado pelas duas operações anteriores
Para mais informações, consulte os documentos de referência notificationChannels
.
Antes de começar
-
Para receber as autorizações de que precisa para ver e configurar canais de notificação através da API Cloud Monitoring, peça ao seu administrador para lhe conceder a função IAM Editor de NotificationChannel do Monitoring (
roles/monitoring.notificationChannelEditor
) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para mais informações sobre as funções do Cloud Monitoring, consulte o artigo Controle o acesso com a gestão de identidade e acesso.
-
Select the tab for how you plan to use the samples on this page:
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Para usar os .NET exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configure o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
Go
Para usar os Go exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configure o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
Java
Para usar os Java exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configure o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
Node.js
Para usar os Node.js exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configure o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
PHP
Para usar os PHP exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configure o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
Python
Para usar os Python exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configure o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
Se planeia usar a Google Cloud CLI, configure o projeto predefinido:
gcloud config set project PROJECT_ID
Antes de executar o comando anterior, substitua o seguinte:
- PROJECT_ID: o identificador do projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
Indique os tipos de canais de notificação
A monitorização oferece vários tipos de canais de notificação integrados. Cada um destes tipos é descrito num
NotificationChannelDescriptor
. Estes descritores têm um campotype
e o valor deste campo funciona como um identificador para o mesmo quando cria instâncias desse tipo de canal. Para obter uma lista de tipos de canais que pode criar com a API Cloud Monitoring ou a CLI Google Cloud, introduza o seguinte comando:$ gcloud beta monitoring channel-descriptors list --format='value(type)' campfire email google_chat hipchat pagerduty pubsub slack sms webhook_basicauth webhook_tokenauth
Para mais informações sobre os canais de notificação, consulte o artigo Crie e faça a gestão de canais de notificação.
Se o seu canal de notificação preferido não for suportado, considere criar um pipeline que dependa do envio das suas notificações para o Pub/Sub. Para ver um exemplo em Python que usa o Flask, consulte o artigo Criar notificações personalizadas com o Cloud Monitoring e o Cloud Run. Para outros exemplos, consulte o repositório Git cloud-alerting-notification-forwarding.
Para obter todos os descritores de canais num Google Cloud projeto, use o método
notificationChannelDescriptors.list
. Os descritores obtidos são só de leitura.Se estiver à procura de um descritor específico e souber o respetivo nome, pode usar o método
notificationChannelDescriptors.get
para obter apenas esse descritor de canal. O nome de um descritor de canal tem o formatoprojects/[PROJECT_ID]/notificationChannelDescriptors/[CHANNEL_TYPE]
.[CHANNEL_TYPE]
tem de ser um dos tipos indicados anteriormente. Por exemplo:projects/[PROJECT_ID]/notificationChannelDescriptors/email
gcloud
Para listar todos os descritores de canais de notificação num Google Cloud projeto, use o comando
gcloud beta monitoring channel-descriptors list
:gcloud beta monitoring channel-descriptors list
Se for bem-sucedido, o comando
list
fornece uma lista de todos os descritores de canais no projeto especificado. Por exemplo, o descritor do canalemail
aparece na lista da seguinte forma:--- 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 ---
Todos os descritores de canais incluem estes campos:
name
: o nome completo do recurso do descritor do canaltype
: a parte do nome que indica o tipo de canaldisplayName
: uma descrição do campotype
para fins de apresentaçãodescription
: uma breve descrição do canallabels
: um conjunto de campos específicos de um tipo de canal. Cada tipo de canal tem o seu próprio conjunto de etiquetas.
Quando um canal é criado, também recebe um campo
enabled
com o valortrue
por predefinição.Para listar um único descritor de canal, use
gcloud beta monitoring channel-descriptors describe
e especifique o nome do descritor de canal. Não precisa de especificar o nome totalmente qualificado. Por exemplo, ambos os comandos devolvem a ficha acima:gcloud beta monitoring channel-descriptors describe email gcloud beta monitoring channel-descriptors describe projects/[PROJECT_ID]/notificationChannelDescriptors/email
Consulte as referências
gcloud beta monitoring channel-descriptors list
edescribe
para mais informações. O comandodescribe
corresponde ao métodonotificationChannelDescriptors.get
na API.Crie um canal de notificação
Pode criar canais de notificação para os seus Google Cloud projetos a partir de ficheiros JSON ou YAML através da CLI do Google Cloud, e pode criá-los de forma programática.
Para criar um canal de notificação, tem de fornecer valores para os campos no respetivo descritor. A maioria destes, como
type
, é comum a todos os descritores de canais de notificação. ConsultenotificationChannelDescriptors
.Cada descritor também tem um conjunto de etiquetas, e este conjunto varia entre os descritores. Para ver o conjunto de etiquetas de um determinado descritor, obtenha o descritor através do comando
gcloud beta monitoring channel-descriptors describe
descrito em Liste os tipos de canais de notificação. Por exemplo, a obtenção do descritor do canalemail
mostra uma única etiqueta:labels: - description: An address to send email. key: email_address
O descritor do canal
pubsub
também contém uma única etiqueta. Essa etiqueta identifica o tópico do Pub/Sub. No entanto, os canais podem conter várias etiquetas. Por exemplo, o descritor do canalslack
tem duas etiquetas: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
A obtenção do descritor do canal
webhook_basicauth
mostra várias etiquetas: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
Quer crie um novo canal programaticamente ou a partir da linha de comandos, o valor de
type
na sua especificação tem de corresponder ao campotype
no descritor do canal de notificação correspondente. As chaves de etiquetas obrigatórias também têm de corresponder às do descritor do canal.Algumas etiquetas correspondem a credenciais usadas para autenticar junto do fornecedor. Quando cria um canal, os valores destas etiquetas têm de ser obtidos junto do fornecedor. A obtenção de uma credencial pode envolver a utilização de uma página de geração de chaves de API no Website do fornecedor ou a conclusão de um fluxo de início de sessão do OAuth com o fornecedor. Os detalhes sobre como obter uma credencial deste tipo dependem do fornecedor específico.
Por exemplo, o seguinte mostra a especificação de um novo
pubsub
canal de notificação em JSON:{ "type": "pubsub", "displayName": "Notifications", "description": "Pub/Sub channel for notifications", "labels": { "topic": "projects/[PROJECT_ID]/topics/notificationTopic" }, }
O valor
type
(pubsub
) e a chave de etiqueta única (topic
) correspondem aos campostype
elabels.key
no descritor do canal correspondente.Os canais estão ativados por predefinição. Se quiser criar um canal inativo, pode incluir o campo
enabled
com o valorfalse
.Os exemplos seguintes ilustram a criação de canais de notificação.
gcloud
Para criar um canal de notificação num Google Cloud projeto, use o comando
gcloud beta monitoring channels create
. Para carregar o canal a partir de um ficheiro, use a flag--channel-content-from-file
para especificar o ficheiro.O exemplo seguinte cria um novo canal do Pub/Sub a partir do ficheiro
pubsub-channel.json
:gcloud beta monitoring channels create --channel-content-from-file="pubsub-channel.json"
Se for bem-sucedido, este comando devolve o nome do novo canal, por exemplo:
Created notification channel [projects/[PROJECT_ID]/notificationChannels/1355376463305411567].
Consulte a
gcloud beta monitoring channels create
referência para mais informações.C#
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplo: crie um canal de notificação do Slack
Para configurar um canal de notificação para uma app Slack, faça o seguinte:
Configure a sua app Slack:
- Se ainda não tiver uma app Slack, siga a documentação de referência do Slack para criar uma e instalá-la no seu espaço de trabalho.
- Configure a sua app Slack com âmbitos do OAuth para
chat:write
echat:write.public
. - Copie o símbolo OAuth do utilizador do bot da app.
Crie um ficheiro que defina a configuração do seu canal de notificação. Inclua uma etiqueta onde a chave
auth_token
tenha o valor do token OAuth do utilizador do bot da sua app Slack. Por exemplo:{ "description": "A Slack notification channel", "displayName": "Slack", "type": "slack", "enabled": true, "labels": { "auth_token": "OAUTH_TOKEN_VALUE", "channel_name": "SLACK_CHANNEL_NAME" } }
Execute o seguinte comando para criar o canal de notificação:
gcloud beta monitoring channels create --channel-content-from-file="FILE_NAME"
Apresenta canais de notificação num projeto
Para obter todos os canais de notificação num Google Cloud projeto, use o método
notificationChannels.list
. Este método também suporta as opçõesfilter
eorderBy
para restringir e ordenar os resultados. Consulte Ordenar e filtrar.Se estiver à procura de um canal específico e souber o respetivo nome, pode usar o método
notificationChannels.get
para obter apenas esse canal. O nome de um canal tem o formatoprojects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
, por exemplo:projects/[PROJECT_ID]/notificationChannels/1355376463305411567
Quando recupera um canal, os valores confidenciais, como tokens de autenticação e chaves da API, podem ser ocultados por motivos de segurança. Se estiver a criar um novo canal copiando um existente, tem de corrigir todos os valores ocultados.
gcloud
Para apresentar uma lista de todos os canais de notificação num Google Cloud projeto, use o comando
gcloud beta monitoring channels list
:gcloud beta monitoring channels list
Se for bem-sucedido, o comando
list
apresenta uma lista de todos os canais no projeto especificado. Por exemplo, o comando acima pode devolver uma lista que inclui as seguintes entradas:--- 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
Para listar um único canal, use
gcloud beta monitoring channels describe
e especifique o nome do canal. Por exemplo, este comando devolve o canal do Pub/Sub apresentado na listagem acima:gcloud beta monitoring channels describe projects/[PROJECT_ID]/notificationChannels/1355376463305411567
Consulte as referências
gcloud beta monitoring channels list
edescribe
para mais informações. O comandodescribe
corresponde ao métodonotificationChannels.get
na API.C#
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Elimine um canal de notificação de um projeto
Para eliminar um canal de notificação de um Google Cloud projeto, use o método
notificationChannels.delete
e indique o nome do canal de notificação a eliminar. O nome de um canal é o valor do camponame
e não do campodisplayName
na instânciaNotificationChannel
. O nome de um canal tem o formatoprojects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
, por exemplo:projects/[PROJECT_ID]/notificationChannels/1355376463305411567
Por predefinição, se tentar eliminar um canal referenciado por uma política de alertas, o canal não é eliminado. Para forçar a remoção de referências das políticas de alerta e eliminar o canal, defina a opção
force
comotrue
. Esta opção remove automaticamente o canal de todas as políticas de referência.gcloud
Para eliminar um canal de notificação, use
gcloud beta monitoring channels delete
e especifique o nome do canal a eliminar. Por exemplo, o comando seguinte elimina o canalemail
criado noutro exemplo:gcloud beta monitoring channels delete projects/[PROJECT_ID]/notificationChannels/1355376463305411567
Consulte a referência
gcloud beta monitoring channels delete
para mais informações.C#
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Modifique um canal de notificação
Para modificar um canal de notificação, use o método
notificationChannels.patch
(na API REST). Outras implementações da API e a CLI Google Cloud chamam esteupdate
em vez depatch
.Uma operação de atualização pode substituir totalmente o canal existente ou modificar um subconjunto de campos. Por exemplo, pode ativar e desativar o canal. A desativação de um canal impede a entrega de notificações ao mesmo. Normalmente, desativar um canal é mais conveniente do que remover o canal das políticas de alerta que lhe fazem referência, se a alteração se destinar a ser temporária.
gcloud
Para ativar um canal de notificação desativado, use o comando
gcloud beta monitoring channels update
e forneça o sinalizador--enabled
. O comando seguinte ativa o canal de notificaçãoemail
criado, no estado desativado, num exemplo anterior:gcloud beta monitoring channels update projects/[PROJECT_ID]/notificationChannels/1355376463305411567 --enabled
Para desativar uma política, use o mesmo comando e forneça a flag
--no-enabled
. Consulte agcloud beta monitoring channels update
referência para mais informações. O comandoupdate
corresponde ao métodonotificationChannels.patch
na API REST.C#
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Monitoring, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Veja os registos do canal de notificações
Pode usar o Explorador de registos para ver erros do canal de notificação:
-
Na Google Cloud consola, aceda à página Explorador de registos:
Aceda ao Explorador de registos
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.
Introduza e execute a consulta. Para consultas específicas de erros do canal de notificação, consulte o artigo Consultas do Cloud Monitoring.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-10-10 UTC.