Ver registros enrutados a Pub/Sub

En este documento, se explica cómo puedes encontrar entradas de registro que enrutaste desde Cloud Logging a temas de Pub/Sub, lo que ocurre casi en tiempo real. Recomendamos usar Pub/Sub para integrar los registros de Cloud Logging con software de terceros.

Cuando enrutas entradas de registro a un tema de Pub/Sub, Logging publica cada entrada de registro como un mensaje de Pub/Sub en cuanto la recibe. Por lo general, las entradas de registro enrutadas están disponibles segundos después de su llegada a Logging, con el 99% de las entradas de registro disponibles en menos de 60 segundos.

Antes de comenzar

Para obtener un análisis conceptual de los receptores, consulta Descripción general de los modelos de enrutamiento y almacenamiento: receptores.

Si quieres obtener instrucciones para enrutar tus entradas de registro, consulta Enruta registros a destinos compatibles.

Ver registros

Para ver tus registros a medida que se transmiten a través de Pub/Sub, haz lo siguiente:

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

    Ir a Temas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Pub/Sub.

  2. Busca o crea una suscripción al tema que se usa en el receptor de registros y extrae una entrada de registro de este. Posiblemente tengas que esperar que se publique una nueva entrada de registro.

Organización de registros

El campo data de cada mensaje es un objeto LogEntry codificado en base64. Por ejemplo, un suscriptor de Pub/Sub puede extraer el siguiente objeto de un tema que recibe entradas de registro. El objeto que se muestra contiene una lista con un solo mensaje, aunque Pub/Sub podría mostrar varios mensajes si hay varias entradas de registro disponibles. El valor data (aproximadamente 600 caracteres) y el valor ackId (alrededor de 200 caracteres) se acortaron para facilitar la lectura del ejemplo:

{
 "receivedMessages": [
  {
   "ackId": "dR1JHlAbEGEIBERNK0EPKVgUWQYyODM...QlVWBwY9HFELH3cOAjYYFlcGICIjIg",
   "message": {
    "data": "eyJtZXRhZGF0YSI6eyJzZXZ0eSI6Il...Dk0OTU2G9nIjoiaGVsbG93b3JsZC5sb2cifQ==",
    "attributes": {
     "compute.googleapis.com/resource_type": "instance",
     "compute.googleapis.com/resource_id": "123456"
    },
    "messageId": "43913662360"
   }
  }
 ]
}

Si decodificas el campo data y lo formateas, obtienes el siguiente objeto LogEntry:

{
  "log": "helloworld.log",
  "insertId": "2015-04-15|11:41:00.577447-07|10.52.166.198|-1694494956",
  "textPayload": "Wed Apr 15 20:40:51 CEST 2015 Hello, world!",
  "timestamp": "2015-04-15T18:40:56Z",
  "labels": {
    "compute.googleapis.com\/resource_type": "instance",
    "compute.googleapis.com\/resource_id": "123456"
  },
  "severity": "WARNING"
  }
}

Integración de terceros con Pub/Sub

Debes enrutar tus entradas de registro a un tema de Pub/Sub. El tercero recibe tus entradas de registro cuando se suscribe al mismo tema. Logging admite la integración de registros con terceros, como Splunk o Datadog. Si quieres ver una lista actual de integraciones, consulta la sección Socios para las integraciones de Google Cloud Observability.

A fin de realizar la integración, prepárate para realizar pasos como los siguientes:

  1. En el proyecto en el que se originan tus entradas de registro, crea el tema de Pub/Sub con una suscripción predeterminada:

    1. Habilitar la API de Pub/Sub

      Habilita la API

    2. En la consola de Google Cloud, ve a la página Temas:

      Ir a Temas

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Pub/Sub.

    3. Haz clic en Crear tema.

    4. En el campo ID de tema, ingresa un ID para tu tema. Por ejemplo, projects/my-project-id/topics/my-pubsub-topic

      Cada mensaje enviado al tema incluye la marca de tiempo de la entrada de registro enrutada en el mensaje de Pub/Sub attributes; por ejemplo:

      "attributes": {
        "logging.googleapis.com/timestamp": "2024-07-01T00:00:00Z"
      }
      
    5. Conserva la opción Agregar una suscripción predeterminada. No selecciones ninguna otra opción.

    6. Haz clic en Crear tema.

  2. En el proyecto en el que se originan tus entradas de registro, configura Logging para enrutar las entradas de registro a tu tema:

    1. En la consola de Google Cloud, ve a la página Enrutador de registros:

      Ir a Enrutador de registros

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

    2. Haz clic en Crear receptor, ingresa un nombre y una descripción para el receptor y, luego, haz clic en Siguiente.
    3. En el menú Servicio del receptor, selecciona Tema de Cloud Pub/Sub, elige el tema de Pub/Sub y, luego, haz clic en Siguiente.
    4. Selecciona las entradas de registro que deseas incluir en el receptor y, luego, haz clic en Siguiente.
    5. Opcional: Selecciona las entradas de registro que quieres excluir.
    6. Haz clic en Crear un receptor.

      Aparecerá un diálogo con el mensaje Se creó el receptor. Este mensaje indica que tu receptor se creó de manera correcta con permisos para enrutar futuras entradas de registro coincidentes al destino que seleccionaste.

    7. Otorga la función de Publicador de Pub/Sub (roles/pubsub.publisher) a la identidad de escritor del receptor. Para obtener más información sobre cómo obtener la identidad de escritor y otorgar una función, consulta Configura permisos de destino.

    Cloud Logging ahora envía entradas de registro a tu tema de Pub/Sub.

  3. Crea la suscripción.

    Por ejemplo, si usas Dataflow para extraer los datos de tu tema de Pub/Sub y enviarlos a Datadog, debes seguir estos dos pasos:

    1. Obtén o crea una cuenta de servicio y, luego, otórgale los roles de IAM necesarios para suscribirse a tu tema. Como mínimo, la cuenta de servicio requiere los siguientes roles:

      Para obtener más información, consulta los siguientes documentos:

    2. Crea un trabajo a partir de una plantilla y, luego, ejecútalo. En este ejemplo, debes usar la plantilla de Pub/Sub a Datadog.

El tercero debería comenzar a recibir las entradas de los registros de inmediato.

Si quieres explorar situaciones comunes de enrutamiento de registros con Pub/Sub, consulta Situaciones para exportar datos de Cloud Logging: Splunk.

Soluciona problemas

Si parece que faltan entradas de registro en el destino de tu receptor o sospechas que tu receptor no enruta correctamente las entradas de registro, consulta Soluciona problemas de registros de enrutamiento.

Precios

Cloud Logging no cobra por enrutar los registros a un destino admitido. Sin embargo, el destino puede aplicar cargos. A excepción del bucket de registros _Required, Cloud Logging cobra por transmitir registros a buckets de registros y por el almacenamiento por más tiempo que el período de retención predeterminado del bucket de registros.

Cloud Logging no cobra por copiar registros ni por las consultas emitidas a través de la página Explorador de registros o la página Análisis de registros.

Para obtener más información, consulta los siguientes documentos: