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

En términos generales, así es como 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 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 donde pasan por el Enrutador de registros. Los receptores del 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, a los que 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 temporalmente. Este comportamiento evita 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 los errores de configuración del receptor. Si tu receptor se configura de forma incorrecta, Logging descarta los registros, se genera un registro de errores y se envía un correo electrónico que te notifica 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 superan las 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 destinos compatibles. A continuación, se incluyen algunos de los motivos por los que es posible que quieras 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 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, enruta la entrada de registro de acuerdo con los receptores que contiene ese recurso y, si está habilitado, cualquier receptor principal que pertenezca a la jerarquía de recursos. La entrada de registro se envía al destino asociado con cada receptor que coincida.

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 entre sí. Sin importar la forma en que los receptores predefinidos procesen las entradas de registro, puedes crear tus propios receptores para enrutar algunos o todos los registros a varios destinos compatibles o excluirlos para que no se almacenen en Cloud Logging.

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

No puedes enrutar entradas de registro que Logging recibió antes de que se creara tu receptor, ya que 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 crean esas reglas. Si necesitas enrutar 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 si estableces un filtro de inclusión. Define uno o más filtros de exclusión para excluir registros del destino del receptor.

Cuando configuras receptores, creas filtros de inclusión mediante 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 del 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, sucede 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 ni se almacenen en un bucket de registros. Puedes crear filtros de exclusión con el lenguaje de consulta de Logging.

Las entradas de registro se excluyen después de que las recibe la API de Logging y, por lo tanto, consumen la cuota de la API de entries.write. No puedes reducir la cantidad de llamadas a la API de entries.write excluyendo las 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 al menos a 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, estos registros no están disponibles para solucionar problemas.

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:

  • Bucket de Cloud Logging: Proporciona almacenamiento en Cloud Logging. Un bucket de registros puede almacenar entradas de registro que reciben varios proyectos de Google Cloud. Si deseas combinar tus datos de Cloud Logging con otros datos, actualiza un bucket de registros para usar Análisis de registros y, luego, crea un conjunto de datos de BigQuery vinculado. Si quieres obtener información para ver las entradas de registro almacenadas en buckets de registros, consulta Descripción general de consulta y visualización de registros y Visualiza los registros enrutados a buckets de Cloud Logging.
  • Conjunto 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 las entradas de registro almacenadas. Para combinar los datos de Cloud Logging con otras fuentes de datos, te recomendamos que actualices los 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 las entradas de registro enrutadas a BigQuery, consulta Visualiza los registros enrutados a BigQuery.
  • Bucket de Cloud Storage: Proporciona almacenamiento de entradas de registro en Cloud Storage. 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 Visualiza 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. Para obtener información sobre cómo ver las entradas de registro enrutadas a Pub/Sub, consulta Visualiza los registros enrutados a Pub/Sub.
  • Splunk: Proporciona compatibilidad con Splunk. Debes enrutar tus entradas de registro a un tema de Pub/Sub y, luego, suscribirte a ese tema con Splunk.
  • Proyecto de Google Cloud: Enruta las entradas de registro a un proyecto de Google Cloud diferente. Cuando enrutas entradas de registro a un proyecto de Google Cloud diferente, el Enrutador de registros del proyecto de destino recibe las entradas de registro y las procesa. Los receptores en el proyecto de destino determinan cómo se enrutan las entradas de registro recibidas. Error Reporting puede analizar entradas de registro cuando el proyecto de destino las enruta a un bucket de registros que pertenece al proyecto de destino.
  • Otros recursos: Enruta tus entradas de registro a un destino compatible que se encuentre en un proyecto diferente. Para obtener información sobre las rutas que se deben usar, consulta Formatos de las rutas de destino.

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 registros. Los registros que almacenas en Cloud Logging se indexan, optimizan y 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 de Google Cloud, cuenta de facturación, carpeta y organización, Logging crea de forma automática 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 _Default creados para cualquier proyecto o carpeta de Google Cloud nuevo. Si deseas obtener más información, consulta Establece la configuración predeterminada para las organizaciones y carpetas.

No puedes cambiar las reglas de enrutamiento para el bucket _Required.

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

Puedes crear receptores para enrutar todos tus registros o solo un subconjunto de ellos 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 de forma automática 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 _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 _Default, a menos que inhabilites o edites el _Default receptor. Para obtener instrucciones sobre cómo modificar los receptores, consulta Administra los receptores.

Por ejemplo, Cloud Logging enruta de forma automática 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 la administración de 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 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 dentro de esa región.

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

Á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

Otro

Nombre de la región Descripción de la región
eu Registros almacenados en centros de datos dentro de la Unión Europea; sin garantías de redundancia adicionales
us Registros almacenados en centros de datos dentro de Estados Unidos; sin garantías de redundancia adicionales
global Registros almacenados en cualquier centro de datos del mundo; sin garantías de redundancia adicionales

Además de estas regiones, puedes establecer la ubicación en global, lo que significa que no necesitas especificar la ubicación física de los 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 deseas 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 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 la organización satisfaga tus necesidades normativas 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 la creación de buckets nuevos en regiones específicas.

Cloud Logging no aplica la política de la organización recién creada en los buckets de registros existentes; solo aplica la política en los buckets de registros nuevos.

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

Además, puedes configurar una ubicación de almacenamiento predeterminada para los buckets de _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 deseas obtener más información, consulta Establece la configuración predeterminada para las organizaciones y carpetas.

Retención

Cloud Logging retiene registros de acuerdo con las reglas de retención que se aplican al tipo de bucket de registros en el que se almacenan los registros.

Puedes configurar Cloud Logging para conservar los 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, sin importar el tipo de registro o si ese registro se copió de otra ubicación.

Si quieres obtener más información sobre cómo configurar las 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 más 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. 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 de controlar el acceso a tus datos de registros. Por ejemplo, imagina 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, es posible que desees controlar desde qué proyectos de Google Cloud los distintos usuarios pueden ver los registros. Con las vistas de registros personalizadas, puedes otorgar a un usuario acceso a los registros de un solo proyecto de Google Cloud, a la vez que le das a otro usuario acceso a los registros de todos los proyectos de Google Cloud.

Uso de registros en el ecosistema de Google Cloud

En la siguiente sección, se proporciona información sobre cómo usar registros en el alcance más amplio de Google Cloud.

Métricas basadas en registros

Las métricas basadas en registros son métricas de Cloud Monitoring que 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 las define 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, 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 se pueden aplicar 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 con alcance de bucket se aplican a los registros en el 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 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.

Busca registros en destinos compatibles

Para obtener más información sobre el formato de las entradas de registro enrutadas y cómo estos se organizan en los 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 admitido. 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 por más tiempo que el período de retención predeterminado del bucket de registros.

Cloud Logging no cobra por copiar registros ni por las consultas emitidas a través de la página Explorador de registros o la página 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: