Resolva problemas com notificações em falta

Esta página explica por que motivo pode não receber notificações conforme esperado e oferece possíveis soluções para essas situações.

As notificações não são recebidas

Se não receber notificações através de nenhum dos canais de notificação configurados, faça o seguinte:

  1. 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.

  2. Selecione o Google Cloud projeto adequado.
  3. Consultar os registos de eventos do canal de notificação:

    1. Expanda o menu Nome do registo e selecione notification_channel_events.
    2. Expanda o menu Gravidade e selecione Erro.
    3. Opcional: para selecionar um intervalo de tempo personalizado, use o seletor de intervalo de tempo.
    4. Clique em Executar consulta.

    Os passos anteriores criam a seguinte consulta:

    resource.type:"stackdriver_notification_channel"
    logName="projects/PROJECT_ID/logs/monitoring.googleapis.com%2Fnotification_channel_events"
    severity=ERROR
    

    A linha de resumo e o campo jsonPayload contêm normalmente informações de falha. Por exemplo, quando ocorre um erro de gateway, a linha de resumo inclui "failed with 502 Bad Gateway" (falhou com 502 Bad Gateway).

As notificações de webhook não são recebidas

Esta secção aplica-se quando não recebe notificações através de um canal de notificação de webhook configurado.

Ponto final privado

Se tiver um ponto final privado, use as notificações do Pub/Sub combinadas com uma subscrição de obtenção desse tópico de notificação. Não pode usar webhooks para notificações a pontos finais privados.

Quando configura um canal de notificação do Pub/Sub, as notificações de incidentes são enviadas para uma fila do Pub/Sub com controlos de gestão de identidades e acessos. Qualquer serviço que possa consultar ou ouvir um tópico do Pub/Sub pode consumir estas notificações. Por exemplo, as aplicações executadas no App Engine, no Cloud Run ou nas máquinas virtuais do Compute Engine podem consumir estas notificações.

Se usar uma subscrição de obtenção, é enviado um pedido à Google que aguarda a chegada de uma mensagem. Estas subscrições requerem acesso ao Google, mas não requerem regras para firewalls nem acesso de entrada.

Ponto final público

Para identificar o motivo pelo qual a entrega falhou, examine as entradas de registo do Cloud Logging para obter informações sobre a falha.

Por exemplo, pode pesquisar entradas de registo para o recurso do canal de notificação com o Logs Explorer, com um filtro como o seguinte:

resource.type="stackdriver_notification_channel"

As notificações do Pub/Sub não são recebidas

Se não receber notificações através de um canal de notificação do Pub/Sub configurado, experimente o seguinte:

  • Certifique-se de que a conta de serviço de notificações existe. As notificações não são enviadas quando a conta de serviço foi eliminada.

    Para verificar se a conta de serviço existe, faça o seguinte:

    1. Na Google Cloud consola, aceda à página IAM:

      Aceda ao IAM

      Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é IAM e administração.

    2. Pesquise uma conta de serviço com a seguinte convenção de nomenclatura:

      service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

      Se esta conta de serviço não estiver na lista, selecione Incluir concessões de funções fornecidas pela Google.

    Se a conta de serviço de notificações não existir, tem de iniciar o processo de criação do canal de notificação do Pub/Sub para que o Monitoring crie a conta de serviço:

    1. Na Google Cloud consola, aceda à página  Alertas:

      Aceder a Alertas

      Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

    2. Clique em Editar canais de notificação.
    3. Na secção Pub/Sub, clique em Adicionar novo.

      A monitorização cria a conta de serviço de notificações quando não existe nenhuma. A caixa de diálogo Criar canal do Pub/Sub mostra o nome da conta de serviço de notificações.

    4. Se não quiser adicionar um canal de notificação, clique em Cancelar. Caso contrário, conclua a criação do canal de notificação e clique em Adicionar canal.

    5. Conceda autorizações à conta de serviço para publicar os seus tópicos do Pub/Sub:

      1. Num novo separador do navegador, abra o documento Crie um canal de notificação.
      2. Selecione o separador Pub/Sub e, de seguida, siga os passos na secção Autorizar conta de serviço da página.
  • Certifique-se de que a conta de serviço de notificações foi autorizada a enviar notificações para os tópicos Pub/Sub de interesse.

    Para ver as autorizações de uma conta de serviço, pode usar a Google Cloud consola ou o comando da CLI do Google Cloud:

    • A página IAM na Google Cloud consola lista as funções de cada conta de serviço.
    • A página Tópicos do Pub/Sub na Google Cloud consola apresenta uma lista de cada tópico. Quando seleciona um tópico, o separador Autorizações apresenta as funções concedidas às contas de serviço.
    • Para apresentar uma lista de todas as contas de serviço e respetivas funções, execute o seguinte comando da CLI Google Cloud:

      gcloud projects get-iam-policy PROJECT_ID
      

      Segue-se uma resposta parcial para este comando:

          serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
             role: roles/monitoring.notificationServiceAgent
           - members:
             [...]
             role: roles/owner
           - members:
             - serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
             role: roles/pubsub.publisher
      

      A resposta do comando inclui apenas funções e não inclui autorização por tópico.

    • Para listar as associações de IAM de um tópico específico, execute o seguinte comando:

      gcloud pubsub topics get-iam-policy TOPIC
      

      Segue-se um exemplo de resposta para este comando:

          bindings:
          - members:
            - serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
            role: roles/pubsub.publisher
          etag: BwXPRb5WDPI=
          version: 1
      

    Para obter informações sobre como autorizar a conta de serviço de notificações, consulte o artigo Autorize a conta de serviço.

Não recebe uma notificação quando uma VM é encerrada

Para receber uma notificação quando uma máquina virtual (VM) é encerrada, crie uma verificação de tempo de atividade para consultar periodicamente a VM e, em seguida, crie uma política de alertas para monitorizar essa verificação de tempo de atividade. Se estiver a usar uma nuvem virtual privada (VPC), pode ter de criar uma verificação de tempo de atividade privada.

Uma política de alerta que monitoriza a métrica compute.googleapis.com/instance/uptime ou não lhe envia uma notificação quando a VM é encerrada. Para esta métrica, as políticas de alerta apenas monitorizam as séries cronológicas das instâncias de VM que se encontram no estado RUNNING. Se uma VM estiver noutro estado, como STOPPED ou DELETED, não é monitorizada. Para mais informações sobre os estados das instâncias de VM, consulte o artigo Ciclo de vida da instância de VM.

As notificações para políticas de alerta de contagem de pedidos não são recebidas

Se não receber notificações para uma política de alerta que monitoriza a métrica serviceruntime.googleapis.com/api/request_count, certifique-se de que o período de alinhamento da política não é superior a 7 horas e 30 minutos.

As mensagens de notificação por SMS ou os códigos de validação não são recebidos

Se não receber notificações por SMS nem códigos de validação, certifique-se de que não atingiu o limite de mensagens SMS. Podem existir registos que confirmem este erro. Verifique os registos de Denied quota token.

Como recomendação geral, desaconselhamos a utilização exclusiva de canais de SMS para notificações. As notificações por SMS são oferecidas com base no "melhor esforço".