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:
-
En la consola de Google Cloud, ve a la página Temas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Pub/Sub.
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:
En el proyecto en el que se originan tus entradas de registro, crea el tema de Pub/Sub con una suscripción predeterminada:
Habilitar la API de Pub/Sub
-
En la consola de Google Cloud, ve a la página Temas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Pub/Sub.
Haz clic en Crear tema.
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" }
Conserva la opción Agregar una suscripción predeterminada. No selecciones ninguna otra opción.
Haz clic en Crear tema.
En el proyecto en el que se originan tus entradas de registro, configura Logging para enrutar las entradas de registro a tu tema:
-
En la consola de Google Cloud, ve a la página Enrutador de registros:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
- Haz clic en Crear receptor, ingresa un nombre y una descripción para el receptor y, luego, haz clic en Siguiente.
- En el menú Servicio del receptor, selecciona Tema de Cloud Pub/Sub, elige el tema de Pub/Sub y, luego, haz clic en Siguiente.
- Selecciona las entradas de registro que deseas incluir en el receptor y, luego, haz clic en Siguiente.
- Opcional: Selecciona las entradas de registro que quieres excluir.
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.
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.
-
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:
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:
- Suscriptor de Pub/Sub (
roles/pubsub.subscriber
) - Administrador de Dataflow (
roles/dataflow.admin
) - Trabajador de Dataflow (
roles/dataflow.worker
)
Para obtener más información, consulta los siguientes documentos:
- Suscriptor de Pub/Sub (
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:
- Resumen de precios de Cloud Logging
Costos de destino:
- Los cargos de generación de registros de flujo de VPC se aplican cuando envías y, luego, excluyes los registros de flujo de la nube privada virtual de Cloud Logging.