Resolver problemas

Nesta página, mostramos como resolver problemas que podem ocorrer ao usar o Eventarc.

Para problemas específicos de destinos que você também pode encontrar, consulte a solução de problemas:

Provedor do Eventarc

Esta seção fornece dicas de solução de problemas na origem de eventos (o provedor).

O provedor não existe.

Verifique se o provedor existe e se você especificou os filtros de gatilho corretamente.

Os eventos são produzidos no provedor, mas não são recebidos no destino

Verifique se você está filtrando eventos de provedores que estão em uma região compatível com o destino. Para mais informações, consulte locais compatíveis com o Eventarc e saiba mais sobre os locais do Eventarc.

O gatilho não está entregando eventos

  1. Verifique se o provedor está gerando eventos. Verifique os registros de auditoria do Cloud e certifique-se de que o serviço monitorado esteja gravando registros. Se os registros forem gravados, mas os eventos não forem entregues, entre em contato com o suporte.

  2. Verifique se há um tópico do Pub/Sub com o mesmo nome de gatilho.

    1. Para listar gatilhos em todos os locais, execute:

      gcloud eventarc triggers list --location=-
      
    2. Para listar tópicos do Pub/Sub, execute:

      gcloud pubsub topics list
      

      Verifique se o nome do tópico do Pub/Sub inclui o nome do gatilho criado. Se o tópico do Pub/Sub estiver ausente, crie um tópico ao criar o gatilho.

    3. Para descrever acionadores e detectar problemas com a condição do gatilho, execute:

      gcloud eventarc triggers describe TRIGGER \
        --location=LOCATION
      

      Substitua:

      • TRIGGER: o ID do gatilho ou um identificador totalmente qualificado.
      • LOCATION: o local do gatilho do Eventarc.
    4. O comando anterior retorna a condição do gatilho. Se houver um problema com o tópico do Pub/Sub, uma das seguintes condições será retornada:

      conditions:
      transport.pubsub.topic:
        code: NOT_FOUND
        message: Pub/Sub topic not found. Try recreating the trigger.

      ou

      conditions:
      transport.pubsub.topic:
        code: UNKNOWN
        message: Pub/Sub topic status is unknown. Try requesting the trigger description again.

      Se aplicável, faça o seguinte:

      • Se Pub/Sub topic not found for retornado, recrie o gatilho para um provedor, tipo de evento e destino específicos](/eventarc/docs/targets#triggers) e crie o tópico.

      • Se Pub/Sub topic status is unknown for retornado, execute o comando para descrever o acionador novamente.

      • Se o problema continuar, entre em contato com o Suporte. Para mais informações, consulte Gerenciar acionadores.

  3. Verifique a integridade do tópico do Pub/Sub:

    1. Verifique a configuração do tópico do Pub/Sub. Acesse a página Tópicos.

      Acesse Tópicos

    2. Monitore se as mensagens forem publicadas no tópico com a métrica: topic/send_message_operation_count. Se as mensagens não forem publicadas no tópico, verifique os Registros de auditoria do Cloud e verifique se o serviço monitorado está emitindo registros. Se os registros forem gravados, mas os eventos não forem entregues, entre em contato com o suporte.

    3. Monitore se as mensagens forem enviadas com a métrica: subscription/push_request_count por response_code. Se erros de push forem relatados, verifique os registros de serviço. Se o endpoint de recebimento retornar um código de status não OK, isso indica que o código do Cloud Run não está funcionando como esperado e você precisa entrar em contato com o suporte.

Gatilho do Eventarc

Nesta seção, você encontra dicas de solução de problemas no gatilho.

Erros de permissão negada

  • Se você encontrar um erro Failed to load service details: permission denied, confirme se as permissões do gatilho estão configuradas corretamente e se a conta de serviço do Pub/Sub recebeu o papel iam.serviceAccountTokenCreator. Para mais informações, consulte Controle de acesso.

  • Se você encontrar o erro a seguir ao tentar criar um gatilho, aguarde alguns minutos (até sete) e tente criar o gatilho novamente:

    Permission denied while using the Eventarc Service Agent. If you recently
    started to use Eventarc, it may take a few minutes before all necessary
    permissions are propagated to the Service Agent. Otherwise, verify that it has
    Eventarc Service Agent role.
    

    Um agente de serviço é uma conta de serviço gerenciada pelo Google que atua como a identidade de um determinado serviço do Google Cloud para um projeto específico. Para mais informações, consulte Agentes de serviço e confira as permissões do papel de agente de serviço do Eventarc (roles/eventarc.serviceAgent).

    Para verificar se o agente de serviço do Eventarc existe no projeto do Google Cloud e tem o papel necessário, conclua as etapas a seguir:

    1. No console do Google Cloud, abra a página IAM.

      Acessar IAM

    2. Na guia Permissões, marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.

    3. Na lista de principais, localize o agente de serviço do Eventarc, que usa este formato:

      service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com

    4. Verifique se o agente de serviço tem o papel Agente de serviço do Eventarc. Se o agente de serviço ainda não o tiver, conceda o papel a ele.

  • Se você estiver tentando usar uma conta de serviço entre projetos e encontrar um erro de permissão negada para iam.serviceAccounts.getAccessToken ou iam.serviceAccounts.actAs, ou se receber uma mensagem de erro semelhante a ...cross-project service accounts are disabled ou Failed to impersonate..., verifique se as permissões estão configuradas corretamente. Para mais informações, acesse Usar uma conta de serviço entre projetos.

Cobranças inesperadas ao usar o Eventarc

Ao criar um gatilho, verifique se os filtros configurados podem fazer com que os gatilhos sejam desativados indefinidamente. Para evitar cobranças inesperadas na sua fatura, defina orçamentos mensais e alertas usando o console de faturamento do Google Cloud. Para mais informações, consulte Criar um orçamento.