En este documento se explica cómo encontrar las entradas de registro que ha enrutado desde Cloud Logging a temas de Pub/Sub, lo que ocurre casi en tiempo real. Te recomendamos que uses Pub/Sub para integrar los registros de Cloud Logging con software de terceros.
Cuando enruta entradas de registro a un tema de Pub/Sub, Logging publica cada entrada de registro como un mensaje de Pub/Sub en cuanto recibe la entrada. Las entradas de registro enrutadas suelen estar disponibles a los pocos segundos de llegar a Logging. El 99% de las entradas de registro están disponibles en menos de 60 segundos.
Antes de empezar
Para obtener información conceptual sobre los receptores, consulta Descripción general de los modelos de enrutamiento y almacenamiento: receptores.
Para obtener instrucciones sobre cómo enrutar tus entradas de registro, consulta Enrutar registros a destinos admitidos.
Ver registros
Para ver los registros a medida que se transmiten a través de Pub/Sub, haz lo siguiente:
-
En la Google Cloud consola, 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 usado en el receptor de registro y extrae una entrada de registro de él. Puede que tengas que esperar a que se publique una nueva entrada de registro.
Organización de los 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 mostrado contiene una lista con un solo mensaje, aunque Pub/Sub puede devolver varios mensajes si hay varias entradas de registro disponibles.
Los valores data
(unos 600 caracteres) y ackId
(unos 200 caracteres) se han acortado para que el ejemplo sea más fácil de leer:
{ "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 le das formato, obtendrás 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
Las entradas de registro se dirigen a un tema de Pub/Sub. El tercero recibe tus entradas de registro suscribiéndose al mismo tema. Logging admite la integración de registros con terceros, como Splunk o Datadog. Para ver una lista actualizada de las integraciones, consulta la página Partners de las integraciones de observabilidad de Google Cloud.
Para llevar a cabo la integración, tendrás que hacer algo parecido a lo siguiente:
En el proyecto en el que se originan las entradas de registro, crea un tema de Pub/Sub con una suscripción predeterminada:
Habilita la API Pub/Sub.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.-
En la Google Cloud consola, 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, introduce un ID para el 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" }
Mantén la opción Añadir una suscripción predeterminada. No selecciones ninguna otra opción.
Haz clic en Crear tema.
En el proyecto en el que se originan las entradas de registro, configura el almacenamiento de registros para enrutar las entradas de registro a tu tema:
-
En la Google Cloud consola, ve a la página Enrutador de registros:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Registro.
- Haga clic en Crear receptor, introduzca un nombre y una descripción para el receptor y, a continuación, haga clic en Siguiente.
- En el menú Servicio del sumidero, selecciona Tema de Cloud Pub/Sub, selecciona el tema de Pub/Sub y haz clic en Siguiente.
- Selecciona las entradas de registro que quieras incluir en el sumidero y, a continuación, haz clic en Siguiente.
- Opcional: Selecciona las entradas de registro que quieras excluir.
Haz clic en Crear sumidero.
Aparecerá un cuadro de diálogo con el mensaje Receptor creado. Este mensaje indica que tu receptor se ha creado correctamente con permisos para enrutar las futuras entradas de registro coincidentes al destino que has seleccionado.
Concede el rol Editor de Pub/Sub (
roles/pubsub.publisher
) a la identidad de escritura del receptor. Para obtener más información sobre cómo obtener la identidad de escritura y asignar un rol, consulta Definir permisos de destino.
Cloud Logging ahora envía entradas de registro al 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 dos pasos:
Crea u obtén una cuenta de servicio y, a continuación, concédele los roles de gestión de identidades y accesos 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, consulte los documentos siguientes:
- Suscriptor de Pub/Sub (
Crea una tarea a partir de una plantilla y, a continuación, ejecútala. En este ejemplo, usarías la plantilla de Pub/Sub a Datadog.
El tercero debería empezar a recibir las entradas de registro inmediatamente.
Para ver ejemplos de situaciones habituales de enrutamiento de registros mediante Pub/Sub, consulta Ejemplos de la exportación de datos de Cloud Logging: Splunk.
Solución de problemas
Si parece que faltan entradas de registro en el destino de tu receptor o sospechas que tu receptor no está enrutando correctamente las entradas de registro, consulta Solucionar problemas de enrutamiento de registros.
Precios
Cloud Logging no cobra por enrutar registros a un destino compatible, pero es posible que el destino aplique cargos.
A excepción del segmento de registros _Required
, Cloud Logging cobra por transmitir registros a los segmentos de registros y por el almacenamiento que supere el periodo de conservación predeterminado del segmento de registros.
Cloud Logging no cobra por copiar registros, crear ámbitos de registro ni vistas de analíticas, ni por las consultas enviadas a través de las páginas Explorador de registros o Analíticas de registros.
Para obtener más información, consulte los documentos siguientes:
- Las secciones de Cloud Logging de la página Precios de Observabilidad de Google Cloud.
Costes al enrutar datos de registro a otros servicios: Google Cloud
- Se aplican cargos por generar registros de flujo de VPC cuando envías y luego excluyes tus registros de flujo de nube privada virtual de Cloud Logging.