Soluciona problemas

En esta página, se muestra cómo resolver problemas que podrías encontrar cuando uses Eventarc.

Para problemas específicos del destino que también podrías encontrar, consulta la solución de problemas de lo siguiente:

Proveedor de Eventarc

En esta sección, se proporcionan sugerencias para la solución de problemas en la fuente de eventos (el proveedor).

El proveedor no existe

Comprueba que el proveedor exista y que especificaste los filtros del activador de forma adecuada.

Los eventos se producen desde el proveedor, pero no se reciben en el destino.

Verifica que estés filtrando por eventos de proveedores que se encuentran en una región compatible para el destino objetivo. Para obtener más información, consulta las ubicaciones compatibles con Eventarc e Información sobre las ubicaciones de Eventarc.

El activador no entrega eventos

  1. Verifica que el proveedor genere eventos. Verifica los Registros de auditoría de Cloud y asegúrate de que el servicio supervisado escriba registros. Si se registran registros, pero los eventos no se entregan, comunícate con el equipo de asistencia.

  2. Verifica que exista un tema de Pub/Sub con el mismo nombre de activador.

    1. Para enumerar los activadores en todas las ubicaciones, ejecuta lo siguiente:

      gcloud eventarc triggers list --location=-
      
    2. Para enumerar los temas de Pub/Sub, ejecuta lo siguiente:

      gcloud pubsub topics list
      

      Verifica que el nombre del tema de Pub/Sub incluya el nombre del activador creado. Si falta el tema de Pub/Sub, crea un tema cuando crees el activador.

    3. Para describir los activadores y detectar cualquier problema con la condición del activador, ejecuta lo siguiente:

      gcloud eventarc triggers describe TRIGGER \
        --location=LOCATION
      

      Reemplaza lo siguiente:

      • TRIGGER: el ID del activador o un identificador completamente calificado.
      • LOCATION: la ubicación del activador de Eventarc.
    4. En el comando anterior, se muestra la condición del activador. Si hay un problema con el tema de Pub/Sub, se mostrará una de las siguientes condiciones:

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

      o

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

      Si corresponde, haz lo siguiente:

      • Si se muestra Pub/Sub topic not found, vuelve a crear el activador para un proveedor, un tipo de evento y un destino específicos](/eventarc/docs/targets#trigger) y, luego, crea el tema.

      • Si se muestra Pub/Sub topic status is unknown, ejecuta el comando para describir el activador de nuevo.

      • Si el problema persiste, comunícate con el equipo de asistencia al cliente. Para obtener más información, consulta Administra activadores.

  3. Verifica el estado del tema de Pub/Sub:

    1. Verifica la configuración del tema de Pub/Sub. Ir a la página Temas.

      Ir a temas

    2. Supervisa si se publican mensajes en el tema con la métrica: topic/send_message_operation_count. Si no se publican mensajes en el tema, revisa los registros de auditoría de Cloud y asegúrate de que el servicio supervisado emite registros. Si se registran registros, pero los eventos no se entregan, comunícate con el equipo de asistencia.

    3. Supervisa si los mensajes se envían de forma correcta con la métrica: subscription/push_request_count por response_code. Si se informan errores de envío, verifica los registros del servicio. Si el extremo receptor muestra un código de estado incorrecto, eso indica que el código de Cloud Run no funciona como se espera y debes comunicarte con el equipo de asistencia.

Activador de Eventarc

En esta sección, se proporcionan sugerencias para la solución de problemas del activador.

Errores de permiso denegado

  • Si encuentras un error Failed to load service details: permission denied, confirma que los permisos del activador estén configurados de forma correcta y que la cuenta de servicio de Pub/Sub tenga el rol iam.serviceAccountTokenCreator. Para obtener más información, consulta Control de acceso.

  • Si encuentras el siguiente error mientras intentas crear un activador, espera unos minutos (hasta siete) y, luego, intenta crear el activador de nuevo:

    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.
    

    Un agente de servicio es una cuenta de servicio administrada por Google que actúa como la identidad de un servicio de Google Cloud determinado para un proyecto en particular. Para obtener más información, consulta Agentes de servicio y consulta los permisos del rol de agente de servicio de Eventarc (roles/eventarc.serviceAgent).

    Para verificar que el agente de servicio de Eventarc exista en tu proyecto de Google Cloud y tenga el rol necesario, completa los siguientes pasos:

    1. En la consola de Google Cloud, ve a la página IAM.

      Ir a IAM

    2. En la pestaña Permisos, selecciona la casilla de verificación Incluir asignaciones de funciones proporcionadas por Google.

    3. En la lista de principales, busca el agente de servicio de Eventarc, que usa este formato:

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

    4. Verifica que el agente de servicio tenga el rol Agente de servicio de Eventarc. Si el agente de servicio no tiene el rol, otorga la función.

  • Si intentas usar una cuenta de servicio entre proyectos y encuentras un error de permiso denegado para iam.serviceAccounts.getAccessToken o iam.serviceAccounts.actAs, o si recibes un mensaje de error similar a ...cross-project service accounts are disabled o Failed to impersonate..., confirma que los permisos estén configurados de forma correcta. Para obtener más información, consulta Usa una cuenta de servicio entre proyectos.

Cargos inesperados cuando se usa Eventarc

Cuando crees un activador, verifica si los filtros configurados podrían hacer que los activadores se establezcan de forma indefinida. Para evitar cargos inesperados en tu factura, configura presupuestos mensuales y alertas con la consola de facturación de Google Cloud. Para obtener más información, consulta Crea un presupuesto.