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 hace referencia 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 buckets de Logging, que almacenan la entrada de registro, o a Pub/Sub. Para exportar los registros a destinos de terceros, enruta tus registros a un tema de Pub/Sub y, luego, autoriza al destino de terceros para que se suscriba al tema de Pub/Sub.

En un nivel alto, 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 los registros con el Enrutador de registros

En las siguientes secciones, se explica cómo Logging enruta los registros con el Enrutador de registros mediante receptores.

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 las entradas de registro con la API de Cloud Logging y las pasa por el enrutador de registros. Los receptores en el Enrutador de registros verifican cada entrada de registro con el filtro de inclusión y los filtros de exclusión existentes que determinan a qué destinos, incluidos los buckets de Cloud Logging, se debe enviar la entrada de registro. Puedes usar combinaciones de receptores para enrutar los registros a varios destinos.

El Enrutador de registros almacena los registros de manera temporal. Este comportamiento almacena en búfer las interrupciones temporales y las interrupciones que pueden ocurrir cuando un receptor enruta los registros a un destino. El almacenamiento en búfer no protege contra errores de configuración del receptor. Si tu receptor está configurado de forma incorrecta, Logging descarta los registros, se genera un registro de errores y se envía un correo electrónico que te notifica sobre un error de configuración del receptor.

Ten en cuenta que el almacenamiento temporal del Enrutador de registros es distinto del almacenamiento a largo plazo que proporcionan los buckets de Logging.

Se descartan las entradas de registro entrantes con marcas de tiempo que superan el período de retención de registros en el pasado o que son más de 24 horas en el futuro.

Receptores

Los receptores controlan cómo Cloud Logging enruta los registros. Con los receptores, puedes enrutar algunos o todos tus registros a los destinos compatibles. A continuación, se muestran algunos de los motivos por los que quizás querrías controlar la forma en que 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 desde Google Cloud para poder verlos en una plataforma de terceros, configura un receptor a fin de que enrute tus entradas de registro a Pub/Sub.

Los receptores pertenecen a un recurso determinado de Google Cloud: proyectos de Google Cloud, cuentas de facturación, carpetas y organizaciones. Cuando el recurso recibe una entrada de registro, la enruta de acuerdo con los receptores que contiene ese recurso y, si está habilitado, por cualquier receptor principal 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 de Google Cloud, cuenta de facturación, carpeta y organización: _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 receptores actúan de forma independiente uno del otro. Sin importar cómo los receptores predefinidos procesen tus entradas de registro, puedes crear tus propios receptores para enrutar algunos o todos los registros a varios destinos compatibles o para excluirlos de que Cloud Logging los almacene.

El comportamiento de enrutamiento de cada receptor se controla mediante la configuración del filtro de inclusión y los filtros de exclusión de ese receptor. Según la configuración del receptor, cada entrada de registro que recibe Cloud Logging se encuentra 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 de proyecto de Google Cloud, pero si deseas combinar y enrutar registros desde los recursos contenidos en una organización o carpeta de Google Cloud, puedes crear receptores agregados.

No puedes enrutar las entradas de registro que Logging recibió antes de crear el receptor porque el enrutamiento ocurre a medida que los registros pasan a través de la API de Logging, y las reglas de enrutamiento nuevas solo se aplican a los registros escritos después de que se hayan creado esas reglas. Si necesitas enrutar las entradas de registro de forma retroactiva, consulta Copia registros.

Filtros de inclusión

Para cualquier receptor nuevo, si no especificas filtros, todos los registros coinciden y se enrutan al destino del receptor. Puedes configurar el receptor para que seleccione registros específicos mediante la configuración de un filtro de inclusión. Puedes establecer uno o más filtros de exclusión para excluir registros del destino del receptor.

Cuando configuras receptores, creas filtros de inclusión con el lenguaje de consulta de Logging. Los receptores también pueden contener varios filtros de exclusión.

Cada entrada de registro que recibe Logging se enruta según estas reglas de filtrado:

  • Los filtros de exclusión del receptor anulan cualquiera de sus filtros de inclusión definidos. Si un registro coincide con cualquier filtro de exclusión en el receptor, no coincide con el receptor, independientemente de los filtros de inclusión definidos. La entrada de registro no se enruta al destino de ese receptor.

  • Si el receptor no contiene un filtro de inclusión, sucederá lo siguiente:

    • Si la entrada de registro coincide con algún filtro de exclusión, no se enruta al destino del receptor.
    • Si la entrada de registro no coincide con ningún filtro de exclusión, se enruta al destino del receptor. Un filtro de inclusión vacío selecciona todos los registros.
  • Si el receptor contiene un filtro de inclusión, sucede lo siguiente:

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

Filtros de exclusión

Cuando creas un receptor, puedes establecer varios filtros de exclusión. Los filtros de exclusión te permiten excluir las entradas de registro coincidentes para que no se enruten al destino del receptor o que se almacenen en un bucket de registros. Puedes crear filtros de exclusión mediante el lenguaje de consulta de Logging.

Las entradas de registro se excluyen después de que la API de Logging las recibe y, por lo tanto, estas entradas de registro consumen la cuota de la API de entries.write. No puedes reducir la cantidad de llamadas a la API de entries.write mediante la exclusión de 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 manera explícita con filtros de exclusión o debido a que no coinciden con ningún receptor con un destino de almacenamiento de Logging, también se excluyen de Error Reporting. Por lo tanto, estos registros no están disponibles para solucionar fallas.

Las métricas basadas en registros definidas por el usuario se calculan a partir de entradas de registro en los registros incluidos y excluidos. Para obtener más información, consulta Supervisa tus registros.

Destinos admitidos

Puedes usar el Enrutador de registros para enrutar ciertos registros a destinos compatibles en cualquier proyecto de Google Cloud. Logging admite los siguientes destinos de receptor:

  • Buckets de registros de Cloud Logging: Proporcionan almacenamiento en Cloud Logging. Un bucket de registros puede almacenar registros que reciben varios proyectos de Google Cloud. Puedes combinar tus datos de Cloud Logging con otros si actualizas un bucket de registros para usar el Análisis de registros y, luego, crees un conjunto de datos de BigQuery vinculado. Para obtener información sobre cómo ver los registros almacenados en los buckets de registros, consulta Descripción general de la consulta y visualización de los registros y Visualiza los registros enrutados a los buckets de Cloud Logging.
  • Proyectos de Google Cloud: Enruta las entradas de registro a un proyecto de Google Cloud diferente. Cuando enrutas los registros a un proyecto de Google Cloud diferente, el enrutador de registros del proyecto de destino recibe los registros y los procesa. Los receptores en el proyecto de destino determinan cómo se enrutan las entradas de registro recibidas. Error Reporting no puede analizar las entradas de registro que los buckets de registros enrutan a un proyecto de Google Cloud diferente.
  • Temas de Pub/Sub: Proporciona compatibilidad con integraciones de terceros, como Splunk. Las entradas de registro se formatean en JSON y, luego, se enrutan a un tema de Pub/Sub. Para obtener información sobre cómo ver los registros enrutados a Pub/Sub, consulta Visualiza los registros enrutados a Pub/Sub.
  • Conjuntos de datos de BigQuery: proporciona almacenamiento de entradas de registro en conjuntos de datos de BigQuery. Puedes usar capacidades de análisis de macrodatos en los registros almacenados. Para combinar tus datos de Cloud Logging con otras fuentes de datos, te recomendamos que actualices tus buckets de registros para usar el Análisis de registros y, luego, crees un conjunto de datos de BigQuery vinculado. Para obtener información sobre cómo ver los registros enrutados a BigQuery, consulta Visualiza los registros enrutados a BigQuery.
  • Buckets de Cloud Storage: Ofrecen almacenamiento de datos de registro en Cloud Storage. Las entradas de registro se almacenan como archivos JSON. Para obtener información sobre cómo ver los registros enrutados a Cloud Storage, consulta Visualiza los registros enrutados a Cloud Storage.

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

Almacena, visualiza y administra 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 de Google Cloud, cuentas de facturación, carpetas y organizaciones para almacenar y organizar los datos de registro. Los registros que almacenas en Cloud Logging se indexan, se optimizan y se entregan para que puedas analizarlos 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, cuenta de facturación, carpeta y organización de Google Cloud, Logging crea 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 los registros a los buckets con nombre correspondientes.

Puedes inhabilitar el receptor _Default, que enruta los registros al bucket de registros _Default. Puedes cambiar el comportamiento de los receptores de _Default creados para cualquier proyecto o carpeta nuevo de Google Cloud. Si quieres 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.

Debes crear receptores para enrutar todos tus registros, o solo un subconjunto, a cualquier bucket de registros. Esta flexibilidad te permite elegir el proyecto de Google Cloud en el que se almacenan tus registros y qué otros registros se almacenan con ellos.

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

Bucket de registro _Required

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

Cloud Logging retiene los registros 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 de _Required, que enruta los registros al bucket _Required.

Bucket de registro _Default

El receptor _Default enruta cualquier entrada de registro que no esté almacenada en el bucket _Required al bucket _Default, a menos que inhabilites o edites el receptor _Default. Para obtener instrucciones sobre cómo modificar receptores, consulta Administra receptores.

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

Cloud Logging retiene los registros 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. Cuando aplicas receptores a tus buckets de registros definidos por el usuario, puedes enrutar cualquier subconjunto de tus registros a cualquier bucket de registros, lo que te permite elegir en qué proyecto de Google Cloud se almacenan tus registros y qué otros registros se almacenan con ellos.

Por ejemplo, para cualquier registro generado en el Proyecto A, puedes configurar un receptor para que enrute ese registro a los buckets definidos por el usuario en el Proyecto A o 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, incluido borrarlos o actualizarlos, consulta Configura y administra buckets de registros.

Regionalización

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

Cuando creas un bucket de registros o estableces una política regional a nivel de la organización, puedes elegir almacenar tus registros en cualquiera de las siguientes regiones:

África

Nombre de la región Descripción de la región Compatibilidad con el Análisis de registros
africa-south1 Johannesburgo

América

Nombre de la región Descripción de la región Compatibilidad con el Análisis de registros
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
us-west8 Phoenix

Asia-Pacífico

Nombre de la región Descripción de la región Compatibilidad con el Análisis de registros
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 Compatibilidad con el Análisis de registros
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 Compatibilidad con el Análisis de registros
me-central1 Doha
me-central2 Dammam
me-west1 Tel Aviv

Otro

Nombre de la región Descripción de la región Compatibilidad con el Análisis de registros
eu Registros almacenados en centros de datos en la Unión Europea, sin garantías de redundancia adicionales
us Registros almacenados en centros de datos en los Estados Unidos; sin garantías adicionales de redundancia
global Registros almacenados en cualquier centro de datos del mundo, sin garantías de redundancia adicionales

Además de estas regiones, puedes configurar la ubicación como global, lo que significa que no necesitas especificar la ubicación física de tus registros.

Puedes aplicar de forma automática una región de almacenamiento específica a los buckets _Default y _Required creados en una organización o carpeta. Si quieres obtener más información, consulta Establece la configuración predeterminada para las organizaciones y carpetas.

Para obtener más información sobre la regionalidad 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 garantizar que tu organización satisfaga tus necesidades regulatorias y de cumplimiento. Con una política de la organización, puedes especificar en qué regiones tu organización puede crear nuevos buckets de registros. También puedes restringir a tu organización para que no cree buckets de registros nuevos en regiones específicas.

Cloud Logging no aplica la política de la organización que acabas de crear en los buckets de registros existentes, solo aplica la política en los buckets de registros nuevos.

Para obtener información sobre la creación de una política de la 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 restrinja 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. Si quieres obtener más información, consulta Establece la configuración predeterminada para las organizaciones y carpetas.

Retención

Cloud Logging retiene registros según las reglas de retención que se aplican al tipo de bucket de registros en el que se conservan los registros.

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

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

Para obtener información sobre los períodos de retención de los diferentes tipos de registros, consulta Cuotas y límites.

Vistas de registro

Las vistas de registro te permiten otorgar a un usuario acceso solo a un subconjunto de los registros almacenados 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 registros.

Para cada bucket de registros, Cloud Logging crea de forma automática 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. No se pueden editar las vistas _AllLogs y _Default, y no puedes borrar la vista de registro _Default.

Las vistas de registro personalizadas te proporcionan una manera avanzada y detallada de controlar el acceso a los datos de registros. Por ejemplo, considera una situación en la que almacenas todos los registros de tu organización en un proyecto central de Google Cloud. Debido a que los buckets de registros pueden contener registros de varios proyectos de Google Cloud, te recomendamos controlar desde qué proyectos de Google Cloud pueden ver los registros diferentes usuarios. Con las vistas de registro personalizadas, puedes otorgar a un usuario acceso a los registros solo desde un proyecto de Google Cloud, mientras que a otro usuario puedes acceder a los registros de todos los proyectos de Google Cloud.

Usa registros en el ecosistema de Google Cloud

En la siguiente sección, se proporciona información sobre cómo usar registros en Google Cloud en 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 de un proyecto de Google Cloud que coincide con los filtros de una de las métricas del proyecto de Google Cloud, esa entrada de registro se cuenta en los datos de la métrica.

Las métricas basadas en registros interactúan con el enrutamiento de manera diferente, según si el sistema o tú definas las métricas basadas en registros. 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 los registros para que no se almacenen en cualquier buckets de Logging, podrías ver que esos registros se cuentan 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. El Enrutador de registros calcula estas métricas 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 pueden aplicarse a nivel de 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, sin importar el proyecto de Google Cloud en el que se originaron las entradas de registro.

    Con las métricas basadas en registros con alcance de bucket, puedes crear métricas basadas en registros que puedan 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.

Busca registros en destinos compatibles

Para obtener más información sobre el formato de las entradas de registro enrutadas y cómo los registros se organizan en destinos, consulta Visualiza registros en destinos de 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

Si deseas conocer las prácticas recomendadas sobre el uso del enrutamiento para la administración 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 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:

¿Qué sigue?

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