É possível configurar o Error Reporting para enviar notificações pelos canais do Cloud Monitoring, alertando sua equipe em tempo real quando novos erros ocorrem ou quando erros resolvidos reaparecem.
O Error Reporting aciona notificações nos seguintes cenários:
- Quando um evento de erro não pode ser agrupado com erros existentes, indicando um novo problema.
- Quando um evento de erro ocorre em um grupo marcado como Resolvido, indicando uma regressão.
Antes de começar
-
Para ter as permissões necessárias para configurar notificações no Error Reporting, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Configure as notificações no Error Reporting:
Usuário do Error Reporting (
roles/errorreporting.user) -
Ver canais de notificação no Monitoring:
Leitor do Monitoring (
roles/monitoring.viewer) -
Crie canais de notificação no Monitoring:
Editor do Monitoring (
roles/monitoring.editor)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
-
Configure as notificações no Error Reporting:
Usuário do Error Reporting (
Verifique se os canais de notificação que você quer usar existem. Para o Error Reporting, você pode usar canais de notificação por e-mail, dispositivos móveis, Slack e webhooks.
-
No console do Google Cloud , acesse a página notifications Alertas:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
Na barra de ferramentas, selecione Editar canais de notificação.
A página Canais de notificação é aberta e lista os canais configurados.
Se os canais que você quer usar existirem, a próxima etapa será configurar notificações no Error Reporting. Caso contrário, crie esses canais. Para informações sobre como concluir as caixas de diálogo para os diferentes tipos de canais de notificação, consulte Criar e gerenciar canais de notificação no Monitoring.
-
Configurar notificações no Error Reporting
Para selecionar onde enviar notificações quando novos grupos de erros ocorrerem, siga estas etapas:
-
No console Google Cloud , acesse a página Error Reporting:
Também é possível encontrar essa página usando a barra de pesquisa.
Clique em Configurar notificações para abrir a página Notificações de erro.
No menu Canais de notificação, selecione os canais que você quer receber notificações.
Depois de selecionar os canais, clique em Salvar.
Criar e gerenciar canais de notificação no Monitoring
Crie, edite e exclua canais de notificação no Monitoring. Depois de criar canais de notificação, é possível configurar o Error Reporting para usá-los.
Com o Error Reporting, você pode escolher entre quatro tipos de canais de notificação: e-mail, dispositivos móveis, Slack e webhooks.
Criar um canal de notificação
Para criar um canal de notificação usando o console Google Cloud , siga as instruções específicas do canal contidas na tabela a seguir:
Para adicionar um canal de notificação por e-mail, faça o seguinte:
-
No console do Google Cloud , acesse a página notifications Alertas:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host ou de gerenciamento do App Hub.
- Clique em Editar canais de notificação.
- Na seção E-mail, clique em Adicionar novo.
- Digite um único endereço de e-mail e uma descrição.
- Clique em Salvar.
Se um endereço de e-mail de grupo for utilizado como o canal de notificação de uma política de alertas, configure o grupo para aceitar e-mails de ErrorReportingNotifications-noreply@google.com.
Aplicativo para dispositivos móveis
Use o Google Cloud app do console para dispositivos móveis para monitorar os recursos do console do Google Cloud console e as informações do Monitoring em qualquer lugar.As notificações do app do Google Cloud console para dispositivos móveis são enviadas para um dispositivo ou usuário específico:
- Dispositivo indica que as notificações são enviadas apenas para o dispositivo específico que criou o canal de notificação. Para canais de notificação com escopo no dispositivo, o campo Nome de exibição inclui informações do dispositivo.
- Usuário indica que as notificações são enviadas para todos os seus dispositivos com o app Google Cloud console para dispositivos móveis instalado.
O Cloud Monitoring determina o escopo de notificação quando o canal é criado. Não é possível selecionar ou alterar o escopo.
Para configurar um canal de notificação do aplicativo para dispositivos móveis do Google Cloud console em um Google Cloud projeto específico, faça o seguinte:
- Instale o app para dispositivos móveis do console Google Cloud app store do seu dispositivo móvel.
Selecione um projeto para visualizar no app para dispositivos móveis do console Google Cloud .
Depois de selecionar um projeto, uma troca de dados entre o app e o projeto Google Cloud selecionado vai ocorrer. Um canal de notificação é criado quando não existe um. Depois de alguns minutos, ele é listado na seção Dispositivos móveis da página Canais de notificação.
Para adicionar seu dispositivo móvel como um canal de notificação para uma política de alertas, na seção Notificações, selecione Google Cloud console (dispositivo móvel) e escolha seu dispositivo móvel na lista.
Slack
Para configurar as notificações do Slack, faça o seguinte:
No Slack: crie um espaço de trabalho e um canal no site do Slack. Grave o URL do canal.
-
No console do Google Cloud , acesse a página notifications Alertas:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host ou de gerenciamento do App Hub.
Clique em Editar canais de notificação.
Na seção Slack, clique em Adicionar novo para abrir a página de login do Slack:
- Selecione o espaço de trabalho do Slack.
- Clique em Permitir para ativar o acesso do Cloud Monitoring ao seu espaço de trabalho do Slack. Essa ação levará você de volta à página de configuração do Monitoring do canal de notificação.
- No campo Nome do canal do Slack, digite o nome do canal do Slack que você quer usar para notificações.
- No campo Nome de exibição do Cloud Alerting, insira uma declaração descritiva curta. O Monitoring mostra o valor desse campo na página Canais de notificação.
- (Opcional) Para testar a conexão entre o Cloud Monitoring e seu espaço de trabalho do Slack, clique em Enviar notificação de teste. Se a conexão for estabelecida, você vai receber uma mensagem
This is a test alert notification...no canal de notificação do Slack especificado. Confira o canal de notificação para confirmar o recebimento.
Se o canal do Slack que você quer usar para notificações for particular, convide manualmente o app do Monitoring para ele:
- Abra o Slack.
Acesse o canal especificado como seu canal de notificação do Monitoring.
Convide o app do Monitoring para o canal inserindo e enviando a seguinte mensagem:
/invite @Google Cloud Monitoring
Convide o app Monitoring para o canal privado especificado ao criar o canal de notificação no Monitoring. Convidar o app Monitoring para canais públicos é opcional.
Webhooks
Antes de configurar um canal de notificação de webhook, considere o seguinte:
- Webhooks aceitam apenas endpoints públicos. Um endpoint público é totalmente
acessível pela Internet pública, como por HTTP (
port:80) ou HTTPS (port:443). O serviço de notificação precisa conseguir estabelecer uma conexão com o endpoint e, no caso do HTTPS, verificar o certificado de segurança do servidor. - Se uma função do Cloud Run estiver configurada como um endpoint de webhook para um canal de notificação, verifique se o usuário que invoca a função tem a permissão de autenticação necessária. Para mais informações, consulte Autenticar para invocação e Como ativar o acesso a uma função.
- Para enviar dados de notificação do Monitoring para o Microsoft Teams, use um serviço intermediário, como o Power Automate ou as funções do Cloud Run. Configure o serviço para receber a notificação de webhook do Monitoring, converter os dados em um formato compatível com o Teams e encaminhar os dados para o canal apropriado do Microsoft Teams.
Configurar canais de notificação de webhook
Para configurar notificações de webhook, faça o seguinte:
- O gerenciador de webhooks: identifique o URL do endpoint público para receber os dados do webhook do Monitoring.
-
No console do Google Cloud , acesse a página notifications Alertas:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host ou de gerenciamento do App Hub.
- Clique em Editar canais de notificação.
- Na seção Webhook, clique em Adicionar novo.
- Preencha a caixa de diálogo.
- Clique em Testar conexão para enviar uma carga de teste ao endpoint do webhook. Acesse o endpoint de recebimento para verificar a entrega.
- Clique em Salvar.
Esquema de webhook
Para conferir a estrutura do esquema de webhook do Error Reporting, clique no seguinte:
Autenticação básica
Além da solicitação de webhook enviada pelo Cloud Monitoring, a autenticação básica utiliza a especificação HTTP para o nome de usuário e a senha. O Cloud Monitoring exige que o servidor retorne uma resposta 401 com o cabeçalho WWW-Authenticate correto. Para mais informações sobre autenticação básica, consulte:
Autenticação de token
A autenticação de token exige um parâmetro de string de consulta no URL do endpoint e uma chave que o servidor espera que seja secreta entre ele e o Monitoring. Veja a seguir um URL de exemplo que inclui um token:
https://www.myserver.com/stackdriver-hook?auth_token=1234-abcd
Se o Monitoring postar um alerta no URL do endpoint, seu servidor poderá validar o token anexado. Esse método de autenticação é mais eficaz quando usado com SSL/TLS para criptografar a solicitação HTTP, impedindo que terceiros não autorizados aprendam o token.
Para um exemplo de servidor em Python, consulte este servidor de exemplo.
Editar e excluir canais de notificação
Para editar ou excluir um canal de notificação usando o console Google Cloud , faça o seguinte:
-
No console do Google Cloud , acesse a página notifications Alertas:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
Clique em Editar canais de notificação.
O painel Canais de notificação contém uma seção para cada tipo de canal de notificação. Cada seção lista todas as configurações desse tipo:
- Para modificar uma entrada, clique em edit Editar. Clique em Salvar depois que suas alterações forem concluídas.
- Para excluir uma entrada, clique em Excluir. Clique em Excluir na caixa de diálogo de confirmação.
Comportamento e limites das notificações
As seções a seguir descrevem o conteúdo, os gatilhos e os limites de taxa das notificações no Error Reporting.
Conteúdo da notificação
As notificações para grupos de erros contêm informações relacionadas às entradas de registro no grupo. As informações incluídas dependem do tipo de recurso monitorado em que o evento de erro ocorreu. Por exemplo, algumas notificações podem conter o nome e a versão do recurso monitorado.
Uma mensagem que descreve um evento de erro é incluída na notificação somente
quando o grupo de erros é
identificado pelas entradas de registro em um bucket de registros cuja região é global.
Acionadores e resolução de notificações
O Error Reporting envia uma notificação em dois cenários:
Quando um evento de erro ocorre e não há um grupo de erros.
Para receber notificações futuras do grupo de erros, defina o status como Resolvido. Nenhuma outra ação, como usar a API para excluir o grupo de erros ou aguardar a expiração dos dados, resulta em uma notificação se outro evento de erro ocorrer.
Quando um evento de erro ocorre para um grupo de erros existente e o status do grupo de erros é definido como Resolvido.
O Error Reporting atualiza o status do grupo de erros para Aberto.
O Error Reporting não envia notificações quando eventos de erro ocorrem e o status do grupo de erros correspondente é Silenciado.
Para gerenciar o status de resolução dos seus grupos de erros, acesse Gerenciar grupos de erros.
Limite da taxa de notificação
O Error Reporting usa as seguintes regras para limitar o número de notificações que você pode receber devido a eventos de erro:
No máximo, cinco notificações por projeto Google Cloud podem ser enviadas em um período de 60 minutos.
Se mais de cinco notificações de erro em um projeto Google Cloud ocorrerem em um período de 60 minutos, o seguinte vai acontecer:
Você recebe uma notificação informando que outras notificações do projeto Google Cloud serão silenciadas nas próximas seis horas.
Uma entrada de registro com um nível de gravidade
WARNINGé gravada.
Quando você resolve um grupo de erros, as notificações dele são suspensas por cinco minutos.
Notificações no dispositivo móvel
O Error Reporting envia notificações para dispositivos móveis ao app Google Cloud no Android e no iOS. Para receber notificações para dispositivos móveis, é preciso instalar o app no seu dispositivo móvel primeiro:
