En este documento, se explica cómo encontrar las entradas de registro que enrutaste desde Cloud Logging a 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 aparezcan las primeras entradas.
Antes de comenzar
Para obtener un análisis conceptual de los receptores, consulta Descripción general de los modelos de enrutamiento y almacenamiento: Receptores.
Para obtener instrucciones sobre cómo enrutar tus registros, consulta Enruta registros a destinos compatibles.
Ver registros
Para ver los registros enrutados a Cloud Storage, haz lo siguiente:
-
En la Google Cloud consola de, ve a la página Buckets:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Cloud Storage.
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, denominado [LOG_ID] en la referencia LogEntry, puede ser un nombre 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 único bucket de Cloud Storage puede contener registros de varios tipos de recursos. El tamaño máximo de 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 de su timestamp se escriben en archivos de fragmento principal. Por ejemplo, una entrada de registro con un timestamp de 08:00:00 y un receiveTimestamp de 08:10:00 se almacena 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 una timestamp en una ventana alineada de 60 minutos diferente a su receiveTimestamp se escriben en archivos de fragmento de adenda. 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 de fragmento de adenda.
Estos archivos incluyen un fragmento de adenda numerado con
el sufijo: _An:Unix_timestamp.json.
Por ejemplo, una entrada de registro que tiene una timestamp entre las 08:00:00 y
las 08:59:59, pero una receiveTimestamp en una ventana alineada de 60 minutos diferente,
se escribe en un archivo con el sufijo _An:Unix_timestamp.json
, en el que la marca de tiempo de Unix identifica la hora en que se enrutó el archivo a
Cloud Storage. Si una entrada de registro tenía una timestamp de 08:50:00 y una receiveTimestamp de 09:10:00, y se enrutó a las 09:15:00 del 25 de marzo de 2021, el archivo de adenda 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 LogEntry objetos. 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.
Limitación
El campo LogEntry.errorGroups no está disponible para este destino.
Los receptores de registros enrutan las entradas de registro que se envían a tu proyecto, pero esas entradas de registro no contienen grupos de errores.
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, consulta tu [filtro][export-query] para verificar que las entradas de registro que coincidan con tu filtro hayan llegado recientemente a Logging.
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 cuyo subtítulo es Logging.
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 de 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 parece que faltan registros en el destino de tu receptor o sospechas que tu receptor no está enrutando los registros de forma correcta, consulta Soluciona problemas de enrutamiento de registros.
Precios
Para obtener información sobre los precios, consulta la página de precios de Google Cloud Observability. Si enrutas datos de registro a otros Google Cloud servicios, consulta los siguientes documentos: