Descripción general del enrutamiento y el almacenamiento

En este documento, se explica cómo Cloud Logging procesa las entradas de registro y se describen los componentes clave del enrutamiento y el almacenamiento de Logging. El enrutamiento se refiere al proceso que usa Cloud Logging para determinar qué hacer con una entrada de registro recién llegada. Puedes enrutar entradas de registro a destinos como los buckets de Logging, que almacenan la entrada de registro, o a Pub/Sub. Para exportar tus registros a destinos de terceros, enrútalos a un tema de Pub/Sub y, luego, autoriza al destino de terceros a suscribirse al tema de Pub/Sub.

En términos generales, esta es la forma en que Cloud Logging enruta y almacena las entradas de registro:

Figura que ilustra cómo Cloud Logging enruta las entradas de registro.

Enruta registros con el Enrutador de registros

En las siguientes secciones, se explica cómo Logging enruta registros con el router de registros mediante sinks.

Enrutador de registros

Se envía una entrada de registro al recurso de Google Cloud especificado en su campo logName durante su llamada entries.write.

Cloud Logging recibe entradas de registro con la API de Cloud Logging en la que pasan por el enrutador de registros. Los receptores del Enrutador de registros verifican cada entrada de registro con su filtro de inclusión y sus filtros de exclusión y, luego, determinan a qué destinos, incluidos los buckets de Cloud Logging, se debe enviar la entrada de registro. Puedes usar combinaciones de receptores para enrutar una entrada de registro a varios destinos.

El enrutador de registros almacena la entrada de registro de forma temporal. Este comportamiento aísla las interrupciones temporales que pueden ocurrir cuando un receptor enruta una entrada de registro a un destino. El almacenamiento en búfer no protege contra errores de configuración del disipador. Si el sink está configurado de forma incorrecta, no dirige las entradas de registro, se genera un registro de errores y se envía un correo electrónico para notificarte que se produjo un error de configuración del sink. Cuando las entradas de registro no se pueden enrutar, se descartan.

El almacenamiento temporal del enrutador de registros es distinto del almacenamiento a mayor plazo que proporcionan los buckets de Logging.

Se descartan las entradas de registro entrantes con marcas de tiempo que son anteriores al período de retención de registros o que son posteriores a 24 horas.

Receptores

Los receptores controlan la forma en que Cloud Logging enruta los registros. Con los receptores, puedes enrutar algunos o todos tus registros a destinos compatibles. Estos son algunos de los motivos por los que es posible que quieras controlar cómo se enrutan tus registros:

  • Almacenar registros que es poco probable que se lean, pero que deben retenerse con fines de cumplimiento.
  • Para organizar tus registros en buckets en un formato que te resulte útil.
  • Para usar herramientas de análisis de macrodatos en tus registros
  • Para transmitir tus registros a otras aplicaciones, otros repositorios o a terceros Por ejemplo, si deseas exportar tus registros de Google Cloud para poder verlos en una plataforma de terceros, configura un receptor para enrutar tus entradas de registro a Pub/Sub.

Los receptores pertenecen a un recurso de Google Cloud determinado: proyectos, cuentas de facturación, carpetas y organizaciones de Google Cloud. Cuando el recurso recibe una entrada de registro, la enruta según los sumideros que contiene ese recurso y, si está habilitado, cualquier sumidero ancestral que pertenezca a la jerarquía de recursos. La entrada de registro se envía al destino asociado con cada receptor coincidente.

Cloud Logging proporciona dos receptores predefinidos para cada proyecto, cuenta de facturación, carpeta y organización de Google Cloud: _Required y _Default. Todos los registros que se generan en un recurso se procesan de forma automática a través de estos dos receptores y, luego, se almacenan en los buckets _Required o _Default con el nombre correspondiente.

Los sumideros actúan de forma independiente. Independientemente de cómo los receptores predefinidos procesen tus entradas de registro, puedes crear tus propios receptores para enrutar algunos o todos tus registros a varios destinos compatibles o para excluirlos de que los almacene Cloud Logging.

Para controlar qué entradas de registro enruta un receptor, configura su filtro de inclusión y sus filtros de exclusión. Según la configuración del receptor, cada entrada de registro que recibe Cloud Logging se incluye en una o más de estas categorías:

  • Almacenada en Cloud Logging y no enrutada a otro lugar.

  • Almacenada en Cloud Logging y enrutada a un destino compatible.

  • No almacenada en Cloud Logging, pero sí enrutada a un destino compatible.

  • Ni almacenada en Cloud Logging ni enrutada a otro lugar.

Por lo general, creas receptores a nivel del proyecto de Google Cloud, pero, si deseas combinar y enrutar registros de los recursos que contiene una organización o una carpeta de Google Cloud, puedes crear receptores agregados.

Los receptores solo enrutan las entradas de registro que llegan después de que se crea el receptor, ya que el enrutamiento se produce a medida que los registros pasan por la API de Logging. Si necesitas enrutar entradas de registro de forma retroactiva, consulta Copia registros.

Filtros de inclusión

Cuando un receptor no especifica ningún filtro, todas las entradas de registro coinciden y se enrutan al destino del receptor. Puedes configurar el receptor para que seleccione entradas de registro específicas configurando un filtro de inclusión. También puedes configurar uno o más filtros de exclusión para evitar que se enruten las entradas de registro.

Cuando configuras un receptor, debes especificar sus filtros con el lenguaje de consulta de Logging.

Un sumidero enruta una entrada de registro según estas reglas:

  • Si la entrada de registro no coincide con el filtro de inclusión, no se enruta. Cuando un receptor no especifica un filtro de inclusión, cada entrada de registro coincide con ese filtro.

  • Si la entrada de registro coincide con el filtro de inclusión y al menos un filtro de exclusión, no se enruta.

  • Si la entrada de registro coincide con el filtro de inclusión y no coincide con ningún filtro de exclusión, se enruta al destino del receptor.

Filtros de exclusión

Cuando creas un receptor, puedes configurar varios filtros de exclusión. Los filtros de exclusión te permiten evitar que las entradas de registro que coincidan con el filtro de inclusión se enruten al destino del receptor o se almacenen en un bucket de registros. Los filtros de exclusión se definen con el lenguaje de consulta de Logging.

Las entradas de registro excluidas consumen la cuota de la API de entries.write porque se excluyen después de que las recibe la API de Logging. No puedes reducir la cantidad de llamadas a la API de entries.write excluyendo entradas de registro.

Las entradas de registro excluidas no están disponibles en el explorador de registros.

Las entradas de registro que no se enrutan a, al menos, un bucket de registros, ya sea de forma explícita con filtros de exclusión o porque no coinciden con ningún receptor con un destino de almacenamiento de Logging, también se excluyen de Error Reporting. Por lo tanto, estas entradas de registro no están disponibles para ayudar a solucionar fallas. Las métricas basadas en registros definidas por el usuario se calculan a partir de entradas de registro en las entradas de registro incluidas y excluidas. Para obtener más información, consulta Supervisa tus registros.

Destinos admitidos

Puedes usar el router de registros para enrutar ciertas entradas de registro a destinos compatibles en cualquier proyecto de Google Cloud. El registro admite los siguientes destinos de almacenamiento:

  • Bucket de Cloud Logging: Proporciona almacenamiento en Cloud Logging. Un bucket de registro puede almacenar entradas de registro que reciben varios proyectos de Google Cloud. El bucket de registros puede estar en el mismo proyecto en el que se originan las entradas de registro o en un proyecto diferente. Para obtener información sobre cómo ver las entradas de registros almacenadas en buckets de registros, consulta Descripción general de consultas y visualización de registros y Visualiza los registros enrutados a buckets de Cloud Logging.

    Puedes combinar tus datos de registro de Cloud con otros datos. Para ello, actualiza un bucket de registros para usar el Análisis de registros y, luego, crea un conjunto de datos vinculado, que es un conjunto de datos de solo lectura que se puede consultar en las páginas de BigQuery Studio y Looker Studio.

  • Conjunto de datos de BigQuery: Proporciona el almacenamiento de entradas de registro en un conjunto de datos de BigQuery que se puede escribir. El conjunto de datos de BigQuery puede estar en el mismo proyecto en el que se originan las entradas de registro o en uno diferente. Puedes usar las funciones de análisis de macrodatos en las entradas de registro almacenadas. Para obtener información sobre cómo ver las entradas de registro que se enrutan a BigQuery, consulta Cómo ver los registros que se enrutan a BigQuery.

  • Bucket de Cloud Storage: Proporciona almacenamiento de entradas de registro en Cloud Storage. El bucket de Cloud Storage puede estar en el mismo proyecto en el que se originan las entradas de registro o en un proyecto diferente. Las entradas de registro se almacenan como archivos JSON. Para obtener información sobre cómo ver las entradas de registro enrutadas a Cloud Storage, consulta Cómo ver los registros enrutados a Cloud Storage.
  • Tema de Pub/Sub: Proporciona compatibilidad con integraciones de terceros. Las entradas de registro se formatean en JSON y, luego, se enrutan a un tema de Pub/Sub. El tema puede estar en el mismo proyecto en el que se originan las entradas de registro o en un proyecto diferente. Para obtener información sobre cómo ver las entradas de registro enrutadas a Pub/Sub, consulta Visualiza los registros enrutados a Pub/Sub.

  • Proyecto de Google Cloud: Envía las entradas de registro a otro proyecto de Google Cloud. En esta configuración, los receptores del proyecto de destino procesan las entradas de registro.

Para obtener más información, consulta Enruta registros a destinos compatibles.

Almacenamiento, visualización y administración de registros

En la siguiente sección, se detalla cómo se almacenan los registros en Cloud Logging y cómo puedes verlos y administrarlos.

Buckets de registros

Cloud Logging usa buckets de registros como contenedores en tus proyectos, cuentas de facturación, carpetas y organizaciones de Google Cloud para almacenar y organizar tus datos de registros. Las entradas de registro que almacenas en Cloud Logging se indexan, optimizan y entregan para que puedas analizar tus registros en tiempo real. Los buckets de Cloud Logging son entidades de almacenamiento diferentes a los buckets de Cloud Storage con nombres similares.

Para cada proyecto de Google Cloud, cuenta de facturación, carpeta y organización, Logging crea automáticamente dos buckets de registros: _Required y _Default. Logging crea receptores de forma automática como _Required y _Default, que, en la configuración predeterminada, enrutan las entradas de registro a los buckets con nombre correspondientes.

Puedes inhabilitar el receptor _Default, que enruta las entradas de registro al bucket de registros _Default. También puedes cambiar el comportamiento de los receptores _Default creados para cualquier proyecto o carpeta nuevos de Google Cloud. Para obtener más información, consulta Establece la configuración predeterminada para las organizaciones y carpetas.

No puedes cambiar las reglas de enrutamiento del bucket _Required.

Además, puedes crear buckets definidos por el usuario para cualquier proyecto de Google Cloud.

Creas receptores para enrutar todas tus entradas de registro, o solo un subconjunto de ellas, a cualquier bucket de registros. Esta flexibilidad te permite elegir el proyecto de Google Cloud en el que se almacenan tus entradas de registro y almacenar entradas de registro de varios recursos en una ubicación.

Para obtener más información, consulta Configura buckets de registros.

Bucket de registro _Required

Cloud Logging enruta automáticamente los siguientes tipos de entradas de registro al bucket _Required:

Cloud Logging retiene las entradas de registro en el bucket _Required durante 400 días, no puedes cambiar este período de retención.

No puedes modificar ni borrar el bucket _Required. No puedes inhabilitar el receptor _Required, que enruta las entradas de registro al bucket _Required.

Bucket de registro _Default

El sink _Default enruta cualquier entrada de registro que no se almacene en el bucket _Required al bucket _Default, a menos que inhabilites o edites el sink _Default de otra manera. Si deseas obtener instrucciones para modificar los receptores, consulta Administra receptores.

Por ejemplo, Cloud Logging enruta automáticamente los siguientes tipos de entradas de registro al bucket _Default:

Cloud Logging retiene las entradas de registro en el bucket _Default durante 30 días, a menos que configures la retención personalizada para el bucket.

No puedes borrar el bucket _Default.

Buckets de registros definidos por el usuario

También puedes crear buckets de registros definidos por el usuario en cualquier proyecto de Google Cloud. Si aplicas receptores a tus buckets de registros definidos por el usuario, puedes enrutar cualquier subconjunto de tus entradas de registro a cualquier bucket de registros, lo que te permite elegir el proyecto de Google Cloud en el que se almacenan tus entradas de registro y almacenar entradas de registro de varios recursos en una ubicación.

Por ejemplo, para cualquier registro generado en el proyecto A, puedes configurar un receptor para que enrute esas entradas de registro a un bucket definido por el usuario en el proyecto A o a un bucket de registros en el proyecto B.

Puedes configurar la retención personalizada para el bucket.

Para obtener información sobre cómo administrar los buckets de registros definidos por el usuario, incluida su eliminación o actualización, consulta Configura y administra buckets de registros.

Regionalización

Los buckets de registros son recursos regionales. La infraestructura que almacena, indexa y busca tus entradas de registro se encuentra en una ubicación geográfica específica. Google Cloud administra esa infraestructura para que tus aplicaciones estén disponibles de forma redundante en todas las zonas dentro de esa región.

Cuando creas un bucket de registros o estableces una política regional a nivel de la organización, puedes elegir dónde almacenar tus registros.

Cloud Logging admite las siguientes regiones:

Global

Nombre de la región Descripción de la región
global

Registros almacenados en cualquier centro de datos del mundo Los registros se pueden mover a diferentes centros de datos. No hay garantías de redundancia adicionales.

Multirregional: UE y EE.UU.

Nombre de la región Descripción de la región
eu

Registros almacenados en cualquier centro de datos de la Unión Europea Los registros se pueden mover a diferentes centros de datos. No hay garantías de redundancia adicionales.

us

Registros almacenados en cualquier centro de datos de Estados Unidos Los registros se pueden mover a diferentes centros de datos. No hay garantías de redundancia adicionales.

África

Nombre de la región Descripción de la región
africa-south1 Johannesburgo

América

Nombre de la región Descripción de la región
northamerica-northeast1 Montreal
northamerica-northeast2 Toronto
southamerica-east1 São Paulo
southamerica-west1 Santiago
us-central1 Iowa
us-east1 Carolina del Sur
us-east4 Virginia del Norte
us-east5 Columbus
us-south1 Dallas
us-west1 Oregón
us-west2 Los Ángeles
us-west3 Salt Lake City
us-west4 Las Vegas

Asia-Pacífico

Nombre de la región Descripción de la región
asia-east1 Taiwán
asia-east2 Hong Kong
asia-northeast1 Tokio
asia-northeast2 Osaka
asia-northeast3 Seúl
asia-south1 Bombay
asia-south2 Delhi
asia-southeast1 Singapur
asia-southeast2 Yakarta
australia-southeast1 Sídney
australia-southeast2 Melbourne

Europa

Nombre de la región Descripción de la región
europe-central2 Varsovia
europe-north1 Finlandia
europe-southwest1 Madrid
europe-west1 Bélgica
europe-west2 Londres
europe-west3 Fráncfort
europe-west4 Países Bajos
europe-west6 Zúrich
europe-west8 Milán
europe-west9 París
europe-west10 Berlín
europe-west12 Turín

Oriente Medio

Nombre de la región Descripción de la región
me-central1 Doha
me-central2 Dammam
me-west1 Tel Aviv

Cuando estableces la ubicación en global, no necesitas especificar dónde se almacenan físicamente las entradas de registro.

Puedes aplicar automáticamente una región de almacenamiento en particular a los buckets _Default y _Required creados en una organización o carpeta. Para obtener más información, consulta Establece la configuración predeterminada para las organizaciones y carpetas.

Para obtener más información sobre la regionalización de los datos y dónde puedes almacenar los datos de tus registros, consulta Información sobre las regiones de datos.

Política de la organización

Puedes crear una política de la organización para asegurarte de que tu organización cumpla con tus necesidades de cumplimiento y reglamentarias. Con una política de la organización, puedes especificar en qué regiones puede crear nuevos buckets de registros. También puedes restringir que tu organización cree nuevos buckets de registros en regiones específicas.

Cloud Logging no aplica la política de la organización que creaste recientemente en los buckets de registro existentes, sino solo en los nuevos.

Para obtener información sobre cómo crear una política de organización basada en la ubicación, consulta Restringe las ubicaciones de recursos.

Además, puedes configurar una ubicación de almacenamiento predeterminada para los buckets _Default y _Required en una organización o en una carpeta. Si configuras una política de la organización que restringe dónde se pueden almacenar los datos, debes asegurarte de que la ubicación de almacenamiento predeterminada que especifiques sea coherente con esa restricción. Para obtener más información, consulta Establece la configuración predeterminada para las organizaciones y carpetas.

Retención

Cloud Logging retiene los registros según las reglas de retención que se aplican al tipo de bucket de registro en el que se almacenan. Para obtener información sobre los períodos de retención para diferentes tipos de registros, consulta Cuotas y límites.

Puedes configurar Cloud Logging para retener registros entre 1 día y 3,650 días. Las reglas de retención personalizadas se aplican a todos los registros de un bucket, independientemente del tipo de registro o si se copió desde otra ubicación.

Para obtener información sobre cómo configurar reglas de retención para un bucket de registros, consulta Configura la retención personalizada.

Vistas de registro

Las vistas de registro te permiten otorgar a un usuario acceso solo a un subconjunto de las entradas de registro almacenadas en un bucket de registros. Para obtener información sobre cómo configurar vistas de registro y cómo otorgar acceso a vistas de registro específicas, consulta Configura vistas de registro en un bucket de registro.

Para cada bucket de registros, Cloud Logging crea automáticamente la vista _AllLogs, que muestra todos los registros almacenados en ese bucket. Cloud Logging también crea una vista para el bucket _Default llamada _Default. En la vista _Default del bucket _Default, se muestran todos los registros, excepto los registros de auditoría de acceso a los datos. Las vistas _AllLogs y _Default no se pueden editar, y no puedes borrar la vista de registro _Default.

Las vistas de registro personalizadas te proporcionan una forma avanzada y detallada para controlar el acceso a tus datos de registro. Por ejemplo, imagina una situación en la que almacenas todos los registros de tu organización en un proyecto central de Google Cloud. Es posible que desees controlar de qué proyectos de Google Cloud pueden ver los registros los diferentes usuarios debido a que los buckets de registro pueden contener registros de varios proyectos de Google Cloud. Con las vistas de registros personalizadas, puedes otorgar a un usuario acceso a los registros solo desde un proyecto de Google Cloud, mientras que le otorgas a otro usuario acceso a los registros de todos los proyectos de Google Cloud.

Cómo usar registros en el ecosistema de Google Cloud

En la siguiente sección, se proporciona información para usar los registros en Google Cloud de manera más general.

Métricas basadas en registros

Las métricas basadas en registros son métricas de Cloud Monitoring que se derivan del contenido de las entradas de registro. Por ejemplo, si Cloud Logging recibe una entrada de registro para un proyecto de Google Cloud que coincide con los filtros de una de las métricas del proyecto de Google Cloud, entonces esa entrada de registro se cuenta en los datos de métricas.

Las métricas basadas en registros interactúan con el enrutamiento de manera diferente, según si el sistema o tú las defines. En las siguientes secciones, se describen estas diferencias.

Métricas basadas en registros y filtros de exclusión

Los filtros de exclusión de receptores se aplican a las métricas basadas en registros definidas por el sistema, que cuentan solo los registros que se almacenan en buckets de registros.

Los filtros de exclusión de receptores no se aplican a las métricas basadas en registros definidas por el usuario. Incluso si excluyes que los registros se almacenen en cualquier buckets de Logging, es posible que veas que esos registros se registran en estas métricas.

Permiso de las métricas basadas en registros

Las métricas basadas en registros definidos por el sistema se aplican a nivel de proyecto de Google Cloud. Estas métricas las calcula el Enrutador de registros y se aplican a los registros solo en el proyecto de Google Cloud en el que se reciben.

Las métricas basadas en registros definidas por el usuario se pueden aplicar a nivel del proyecto de Google Cloud o a nivel de un bucket de registros específico:

  • Las métricas a nivel de proyecto se calculan como las métricas basadas en registros definidas por el sistema. Estas métricas basadas en registros definidas por el usuario se aplican a los registros solo en el proyecto de Google Cloud en el que se reciben.
  • Las métricas de permisos de bucket se aplican a los registros del bucket de registros en el que se reciben, independientemente del proyecto de Google Cloud en el que se originaron las entradas de registro.

    Con las métricas basadas en registros de permisos de bucket, puedes crear métricas basadas en registros que pueden evaluar registros en los siguientes casos:

    • Los registros que se enrutan de un proyecto a un bucket de otro proyecto.
    • Los registros que se enrutan a un bucket a través de un receptor agregado.

Para obtener más información, consulta Descripción general de las métricas basadas en registros.

Cómo encontrar registros en destinos compatibles

Para obtener más información sobre el formato de las entradas de registro enrutadas y sobre cómo se organizan los registros en los destinos, consulta Visualiza los registros en los destinos de los receptores.

Casos de uso habituales

A fin de abordar casos de uso comunes para enrutar y almacenar registros, consulta los siguientes instructivos y documentos:

Necesidades de cumplimiento

Para obtener prácticas recomendadas sobre el uso del enrutamiento para la gobernanza de datos, consulta los siguientes documentos:

Control de acceso con IAM

Si deseas obtener información sobre cómo usar las funciones y los permisos de Identity and Access Management (IAM) para controlar el acceso a los datos de Cloud Logging, consulta Control de acceso con IAM.

Precios

Cloud Logging no cobra por enrutar registros a un destino compatible. Sin embargo, es posible que el destino aplique cargos. Con la excepción del bucket de registros _Required, Cloud Logging cobra por transmitir registros a buckets de registros y por almacenarlos durante más tiempo que el período de retención predeterminado del bucket de registros.

Cloud Logging no cobra por copiar registros, definir alcances de registros ni ejecutar consultas a través de las páginas Explorador de registros o Análisis de registros.

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

¿Qué sigue?

Para ayudarte a enrutar y almacenar datos de Cloud Logging, consulta los siguientes documentos:

  • Error Reporting puede analizar las entradas de registro y enviarte informes de errores. Para obtener más información sobre este servicio, incluida la información sobre cuándo se pueden analizar las entradas de registro, consulta la descripción general de Error Reporting.