Visualiza los registros enrutados a Cloud Storage

En este documento, se explica cómo encontrar entradas de registro que enrutaste desde Cloud Logging a los buckets de Cloud Storage.

Las entradas de registro se guardan en buckets de Cloud Storage en lotes por hora. Es posible que se necesiten entre 2 y 3 horas para que aparezca la primera entrada.

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 deseas obtener instrucciones para enrutar tus registros, consulta Enruta registros a destinos compatibles.

Ver registros

Para ver tus registros enrutados a Cloud Storage, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, selecciona Cloud Storage y, luego, haz clic en Buckets:

    Ir a Buckets

  2. Selecciona el bucket de Cloud Storage que usas como destino de enrutamiento.

Organización de registros

Cuando exportas registros a un bucket de Cloud Storage, Logging escribe un conjunto de archivos en el bucket.

En el directorio, los archivos tienen una organización jerárquica según el tipo de registro y fecha. El tipo de registro, al que se hace referencia como [LOG_ID] en la referencia LogEntry, puede ser un nombre simple, como syslog, o un nombre compuesto, como appengine.googleapis.com/request_log. Si estos registros se almacenaran en un bucket llamado my-gcs-bucket, los directorios se nombrarían como en el siguiente ejemplo:

my-gcs-bucket/syslog/YYYY/MM/DD/
my-gcs-bucket/appengine.googleapis.com/request_log/YYYY/MM/DD/

Un solo bucket de Cloud Storage puede contener registros de varios tipos de recursos. El tamaño máximo del archivo es de 3.5 GiB.

Logging no garantiza que se anule la duplicación de las entradas de registro de los receptores que contienen consultas idénticas o superpuestas. Las entradas de registro de esos receptores se pueden escribir varias veces en un bucket de Cloud Storage.

Los directorios hoja (DD/) tienen varios archivos, cada uno de los cuales contiene las entradas de registro exportadas durante un período especificado en el nombre del archivo. Los archivos están fragmentados y sus nombres terminan en un número de fragmento, Sn o An (n=0, 1, 2, …). Por ejemplo, aquí hay dos archivos que podrían almacenarse en el directorio my-gcs-bucket/syslog/2015/01/13/:

08:00:00_08:59:59_S0.json
08:00:00_08:59:59_S1.json

Estos dos archivos juntos contienen las entradas de registro syslog correspondientes a todas las instancias durante la hora que comienza a las 08:00:00 UTC y termina a las 8:59:59 UTC. Las marcas de tiempo de las entradas de registro se expresan en UTC (Horario universal coordinado).

Las entradas de registro que llegan con un receiveTimestamp dentro de la ventana alineada de 60 minutos del timestamp se escriben en los archivos del fragmento principal. Por ejemplo, se almacena una entrada de registro con un timestamp de 08:00:00 y un receiveTimestamp de 08:10:00 en el archivo de fragmento principal.

Estos archivos incluyen un fragmento principal numerado en el sufijo: _Sn.json.

Las entradas de registro que llegan con un timestamp en una ventana alineada de 60 minutos diferente al receiveTimestamp se escriben en archivos de fragmento del anexo. Por ejemplo, una entrada de registro con un timestamp de 08:00:00 y un receiveTimestamp de 09:10:00 se almacena en un archivo fragmento de anexo.

Estos archivos incluyen un fragmento de anexo numerado con el sufijo _An:Unix_timestamp.json.

Por ejemplo, una entrada de registro que tiene un timestamp entre 08:00:00 y 08:59:59, pero una receiveTimestamp en una ventana diferente alineada de 60 minutos se escribe en un archivo con el sufijo _An:Unix_timestamp.json, en el que la marca de tiempo Unix identifica la hora en la que el archivo se enrutó a Cloud Storage. Si una entrada de registro tenía un timestamp de 08:50:00 y una receiveTimestamp de 09:10:00, y se enrutó a las 9:15:00 del 25 de marzo de 2021, el archivo de anexo se escribiría de la siguiente manera:

08:00:00_08:59:59_A0:1616681700.json

A fin de obtener todas las entradas de registro, debes leer todos los fragmentos de cada período; en este caso, los fragmentos de archivos 0 y 1. La cantidad de fragmentos de archivos escritos puede cambiar para cada período.

Dentro de los archivos fragmentados individuales, las entradas de registro se almacenan como una lista de objetos LogEntry. Para ver un ejemplo de una entrada syslog, consulta Organización de entradas de registro.

Ten en cuenta que el orden de clasificación de las entradas de registro en los archivos no es uniforme ni está garantizado de alguna otra manera.

Entradas de registro tardías

Las entradas de registro se guardan en buckets de Cloud Storage en lotes por hora. Es posible que se necesiten entre 2 y 3 horas para que aparezcan las primeras entradas. Los fragmentos de los archivos de registro enrutados con el sufijo An (“Append”) contienen las entradas de registro que llegaron tarde.

Si el destino experimenta una interrupción, Cloud Logging almacena los datos en búfer hasta que la interrupción finaliza.

Si no hay registros en el destino de tu receptor, consulta las métricas del sistema de exportación. Las métricas del sistema de exportación indican cuántas entradas de registro se enrutan y cuántas se descartan debido a errores. Si las métricas del sistema de exportación indican que no se enrutó ninguna entrada de registro al destino, revisa tu filtro para verificar que las entradas de registro que coincidan con tu filtro hayan llegado recientemente a Logging.

En el panel de navegación de la consola de Google Cloud, selecciona Logging y, luego, Enrutador de registros:

Ir a Enrutador de registros

Entradas de registro de App Engine

Además, App Engine combina varias subentradas de tipo google.appengine.logging.v1.LogLine (también llamadas AppLog o AppLogLine) en una entrada de registro principal de tipo google.appengine.logging.v1.RequestLog para la solicitud que provoca la actividad de registro. Cada línea de registro cuenta con un "ID de solicitud" que define la entrada principal. El visor de registros muestra las líneas de registros con la entrada de registro de la solicitud. Logging intenta colocar todas las líneas de registro en el lote con la solicitud original, incluso si por sus marcas de tiempo se colocarían en el siguiente lote. Si eso no es posible, a la entrada del registro de la solicitud pueden faltarle algunas líneas de registro y es posible que existan líneas de registro “huérfanas” sin solicitud en el siguiente lote. Si esta posibilidad te parece importante, prepárate para volver a conectar las partes de la solicitud cuando proceses los registros.

Soluciona problemas

Si te parece que faltan registros en el destino de tu receptor o si sospechas que el receptor no enruta correctamente los registros, consulta Soluciona problemas de registros de enrutamiento.

Precios

Cloud Logging no cobra por enrutar los registros a un destino compatible. 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 más largo que el período de retención predeterminado del bucket de registros.

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

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