Este producto no es compatible con el sitio Datadog seleccionado. ().
Disponible para:

Registros

Descripción general

Utilice el destino de Google Pub/Sub de Observability Pipelines para publicar registros en el sistema de mensajería de Google Pub/Sub, de modo que los registros puedan enviarse a servicios descendentes, lagos de datos o aplicaciones personalizadas.

Cuándo utilizar este destino

Escenarios comunes en los que podría utilizar este destino:

  • Para analytics pipelines: Envíe registros a Google BigQuery, Data Lake o flujos de trabajo de aprendizaje automático personalizados.
  • Para procesamiento basado en eventos: Publique registros en un tema de Pub/Sub para que Google Cloud Functions, Cloud Run functions y los trabajos de Dataflow puedan realizar acciones en tiempo real basadas en los datos de registro.

Requisitos previos

Antes de configurar el destino, necesita lo siguiente:

  • Suscripción de Pub/Sub: Cree un tema de Pub/Sub y al menos una suscripción para consumir los mensajes.
  • Autenticación: Configure un método de autenticación estándar de Google Cloud. Estas opciones incluyen:
    • Una clave de cuenta de servicio (archivo JSON)
    • Una identidad de carga de trabajo (Google Kubernetes Engine (GKE))
  • Roles de IAM:
    • roles/pubsub.publisher es necesario para publicar eventos.
    • roles/pubsub.viewer se recomienda para las comprobaciones de estado.
      • Si falta el rol, se registra el error Healthcheck endpoint forbidden y el Worker continúa como de costumbre.
    • Consulte Roles de Pub/Sub disponibles para obtener más información.

Configure una cuenta de servicio para el Worker

Una cuenta de servicio en Google Cloud es un tipo de cuenta utilizada solo por aplicaciones o servicios.

  • Tiene su propia identidad y credenciales (un archivo de clave JSON).
  • Usted le asigna roles de IAM para que pueda acceder a recursos específicos.
  • En este caso, Observability Pipelines Worker utiliza una cuenta de servicio para autenticarse y enviar registros a Pub/Sub en su nombre.

Para autenticarse mediante una cuenta de servicio:

  1. En la consola de Google Cloud, navegue a IAM & Admin > Cuentas de servicio.
  2. Haga clic en + Create service account.
  3. Ingrese un nombre y haga clic en Create and continue.
  4. Asigne roles:
    • Pub/Sub Publisher.
    • Pub/Sub Viewer.
  5. Haga clic en Done.

Métodos de autenticación

Después de haber creado la cuenta de servicio con los roles correctos, configure uno de los siguientes métodos de autenticación:

  1. Vincule la cuenta de servicio a una cuenta de servicio de Kubernetes (KSA).
  2. Permita que esa KSA suplante la cuenta de servicio.
  3. Anote la KSA para que GKE sepa qué cuenta de servicio utilizar.
  4. La autenticación proviene entonces del servidor de metadatos de GCP.
Option B: Attach the GSA directly to a VM (for Google Compute Engine)

Utilice este método de autenticación si está ejecutando el Observability Pipelines Worker en una VM de Google Compute Engine (GCE).

  • Cuando cree o edite la VM, especifique la cuenta de servicio de Google en Identity and API access > Service account.
Option C: Run the service as the GSA (for Cloud Run or Cloud Functions)

Utilice este método de autenticación si está implementando el Worker como un servicio de Cloud Run o una Cloud Function.

  • En la configuración de implementación de Cloud Run o Cloud Functions, establezca la Execution service account en la cuenta de servicio de Google que creó.
Option D: JSON key method (any environment without identity bindings)
  1. Abra la nueva cuenta de servicio y navegue a Keys > Add key > Create new key.
  2. Elija el formato JSON.
  3. Guarde el archivo JSON descargado en una ubicación segura.
  4. Después de instalar el Worker, copie o monte el archivo JSON en DD_OP_DATA_DIR/config/. Usted hace referencia a este archivo en el campo Credentials path del destino de Google Pub/Sub cuando configura el destino en la Pipelines UI.

Configuración

Configure el destino de Google Pub/Sub cuando configure un pipeline. Usted puede configurar un pipeline en la interfaz de usuario, usando la API, o con Terraform. Los pasos en esta sección se configuran en la interfaz de usuario.

Después de seleccionar el destino de Google Pub/Sub en la pipeline UI:

  1. Ingrese el nombre del proyecto de destino.
    • Este es el proyecto de GCP donde reside su tema de Pub/Sub.
  2. Ingrese el tema.
    • Este es el tema de Pub/Sub al cual publicar los registros.
  3. En el menú desplegable Encoding, seleccione si desea codificar la salida de su canalización en JSON o Raw message.
    • JSON: Los registros se estructuran como JSON (recomendado si las herramientas posteriores necesitan datos estructurados).
    • Raw: Los registros se envían como cadenas sin formato (conserva el formato original).
  4. Si tiene un archivo JSON de credenciales, ingrese la ruta a su archivo JSON de credenciales.
    • Si utiliza un JSON de cuenta de servicio: ingrese la ruta DD_OP_DATA_DIR/config/<your-service-account>.json.
    • O establezca la variable de entorno GOOGLE_APPLICATION_CREDENTIALS.
    • Las credenciales se administran automáticamente si utiliza Workload Identity en GKE.

Configuración opcional

Habilitar TLS

Para la administración de secretos: solo ingrese el identificador de la frase de contraseña de la clave TLS. No ingrese el valor real.

Toggle the switch to Enable TLS.

  • If you are using Secrets Management, enter the identifier for the key pass. See Secret defaults for the default used if the field is left blank.
  • Enter the following certificate and key files:
    • Server Certificate Path: The path to the certificate file that has been signed by your Certificate Authority (CA) root file in DER, PEM, or CRT (X.509).
    • (Optional) CA Certificate Path: The path to the certificate file that is your Certificate Authority (CA) root file in DER, PEM, or CRT (X.509).
    • (Optional) Private Key Path: The path to the .key private key file that belongs to your Server Certificate Path in DER, PEM, or CRT (PKCS #8) format.
    • Notes:
      • The configuration data directory /var/lib/observability-pipelines-worker/config/ is automatically appended to the file paths. See Advanced Worker Configurations for more information.
      • The file must be readable by the observability-pipelines-worker group and user.
If you enter secret identifiers and then choose to use environment variables, the environment variable is the identifier entered and prepended with DD_OP_. For example, if you entered PASSWORD_1 for a password identifier, the environment variable for that password is DD_OP_PASSWORD_1.

Almacenamiento en búfer

Toggle the switch to enable Buffering Options. Enable a configurable buffer on your destination to ensure intermittent latency or an outage at the destination doesn’t create immediate backpressure, and allow events to continue to be ingested from your source. Disk buffers can also increase pipeline durability by writing data to disk, ensuring buffered data persists through a Worker restart. See Destination buffers for more information.

  • If left unconfigured, your destination uses a memory buffer with a capacity of 500 events.
  • To configure a buffer on your destination:
    1. Select the buffer type you want to set (Memory or Disk).
    2. Enter the buffer size and select the unit.
      1. Maximum memory buffer size is 128 GB.
      2. Maximum disk buffer size is 5 TB.
        • Note: For Worker versions 2.20.x and older, the maximum disk buffer size is 500 GB.
    3. In the Behavior on full buffer dropdown menu, select whether you want to block events or drop new events when the buffer is full.
El destino de Google Pub/Sub con valores de ejemplo

Valores predeterminados de Secret

These are the defaults used for secret identifiers and environment variables.

  • (Opcional) Identificador de URL del punto de conexión de Google Pub/Sub:
    • De forma predeterminada, el Worker envía datos al punto de conexión global: https://pubsub.googleapis.com.
    • Si su tema de Pub/Sub es específico de una región, configure la URL del punto de conexión alternativo de Google Pub/Sub con el punto de conexión regional. Consulte Acerca de los puntos de conexión de Pub/Sub para obtener más información. Ingrese la URL del punto de conexión configurada en su administrador de secretos.
    • El identificador predeterminado es DESTINATION_GCP_PUBSUB_ENDPOINT_URL.
  • Identificador de frase de contraseña TLS de Google Pub/Sub (cuando TLS está habilitado):
    • El identificador predeterminado es DESTINATION_GCP_PUBSUB_KEY_PASS.

Endpoints alternativos opcionales de Pub/Sub

La página de instalación que muestra el campo de variable de entorno de Google Pub/Sub

By default the Worker sends data to the global endpoint: https://pubsub.googleapis.com.

If your Pub/Sub topic is region-specific, configure the Google Pub/Sub alternative endpoint URL with the regional endpoint. See About Pub/Sub endpoints for more information.

The default environment variable is DD_OP_DESTINATION_GCP_PUBSUB_ENDPOINT_URL.

TLS (when enabled)

  • Google Pub/Sub TLS passphrase:
    • The default environment variable is DD_OP_DESTINATION_GCP_PUBSUB_KEY_PASS.

Solución de problemas

Problemas comunes y soluciones:

  • Verificación prohibida
    • Verifique el rol de IAM roles/pubsub.viewer.
  • Permiso denegado
    • Asegúrese de que la cuenta de servicio tenga roles/pubsub.publisher.
  • Errores de autenticación
    • Verifique la ruta JSON de las credenciales o la configuración de GKE Workload Identity.
  • Eventos descartados
    • Verifique las pipelines.component_discarded_events_total y pipelines.buffer_discarded_events_total métricas.
    • Aumente el tamaño del búfer o corrija los filtros mal configurados según sea necesario para resolver el problema.
  • Latencia alta
    • Reduzca el tamaño del búfer y el tiempo de espera, o escale sus Workers.
  • No llegan registros
    • En la configuración de su destino de Google Pub/Sub, verifique cuidadosamente el nombre del tema, el proyecto y el punto de conexión de Pub/Sub (global frente a regional).

Métricas de salud

Para las métricas de componente y las métricas de búfer de destino emitidas por todos los destinos, consulte la documentación de Pipelines Usage Metrics. Para filtrar o agrupar por métricas de destino de Google Pub/Sub, utilice la etiqueta component_type:gcp_pubsub.

Procesamiento por lotes de eventos

Un lote de eventos se vacía cuando se cumple uno de estos parámetros. Consulte Procesamiento por lotes de eventos de destinos para obtener más información.

Máximo de eventosTamaño máximo (MB)Tiempo de espera (segundos)
1,000101