Enruta registros a destinos compatibles.

En este documento, se explica cómo crear y administrar receptores, que enrutan las entradas de registro que se originan en un proyecto de Google Cloud en destinos compatibles.

Cuando el destino de un receptor no es un bucket de registros en el proyecto de Google Cloud en la que se origina una entrada de registro, se requiere una cuenta de servicio. Cloud Logging crea y administra automáticamente esta cuenta de servicio. Sin embargo, es posible que debas modificar los permisos otorgados a la cuenta de servicio. Puedes crear y administrar una cuenta de servicio que usan los receptores en varios proyectos. Para obtener más información, consulta Configura receptores de registros con cuentas de servicio administradas por el usuario.

Descripción general

Los receptores determinan cómo Cloud Logging enruta las entradas de registro. Con los receptores, puedes enrutar algunas o todas tus entradas de registro a los siguientes destinos:

  • 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. en un proyecto diferente. Para obtener más información sobre cómo ver las entradas de registro almacenadas en buckets de registros, consulta Descripción general de consulta y visualización de registros y Ver los registros enrutados a los buckets de Cloud Logging.

    Puedes combinar tus Actualiza un bucket de registros para usar Cloud Logging con otros datos Análisis de registros y, luego, crear un conjunto de datos vinculado, que es un conjunto de datos conjunto de datos que se puede consultar con BigQuery Studio y Looker Studio páginas.

  • 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 un en un proyecto final. Puedes usar las capacidades de análisis de macrodatos en las entradas de registro almacenadas. 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. El bucket de Cloud Storage puede estar en el mismo proyecto en el que las entradas de registro se originan 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 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 Pub/Sub en este tema. El tema puede estar en el mismo proyecto en el que las entradas de registro se originan 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.

Los receptores pertenecen a un recurso de Google Cloud determinado: un proyecto de Google Cloud, una cuenta de facturación, una carpeta o una organización. Cuando el recurso recibe un entrada de registro, cada receptor en el recurso procesa la entrada de registro. Cuando un elemento entrada de registro coincide con los filtros del receptor, entonces la entrada de registro enrutado al destino del receptor.

Por lo general, los receptores solo enrutan las entradas de registro que se originan en un recurso. Sin embargo, para las carpetas y las organizaciones, puedes crear receptores agregados, que enrutan las entradas de registro de la carpeta o la organización, y los recursos que contiene. En este documento, no se analiza receptores agregados. Para obtener más información, consulta Recopila y enruta registros a nivel de la organización a destinos compatibles.

Para crear y administrar receptores, puedes usar la consola de Google Cloud, la API de Cloud Logging y Google Cloud CLI. Te recomendamos lo siguiente: usa la consola de Google Cloud:

  • La página Enrutador de registros enumera todos los receptores y brinda opciones para administrar los receptores.
  • Cuando creas un receptor, puedes obtener una vista previa de las entradas de registro que coinciden con los filtros del receptor.
  • Puedes configurar los destinos de los receptores cuando creas uno.
  • Se completaron algunos pasos de autorización por ti.

Antes de comenzar

En las instrucciones de este documento, se describe cómo crear y administrar receptores a nivel del proyecto de Google Cloud. Puedes usar el mismo procedimiento para crear un receptor que enruta las entradas de registro que se originan en una organización, carpeta o cuenta de facturación de Google Cloud.

Para comenzar, haz lo siguiente:

  1. Enable the Cloud Logging API.

    Enable the API

  2. Asegúrate de que tu proyecto de Google Cloud contenga entradas de registro que puedes ver en el Explorador de registros.

  3. A fin de obtener los permisos que necesitas para crear, modificar o borrar un receptor, solicita a tu administrador que te otorgue el Es la función de IAM de Escritor de configuración de registros (roles/logging.configWriter) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

    Para obtener información sobre cómo otorgar roles de IAM, consulta la Guía de control de acceso de Logging.

  4. Tienes un recurso en un destino admitido o tienes la capacidad de crear uno.

    Para enrutar entradas de registro a un destino, este debe existir antes de que creas el receptor. Puedes crear el destino en cualquier proyecto de Google Cloud en cualquier organización.

  5. Antes de crear un receptor, revisa las limitaciones que se aplican al de destino del receptor. Para obtener más información, consulta la Limitaciones de destino de este documento.

  6. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Crea un receptor

A continuación, se incluyen las instrucciones para crear un receptor en un proyecto de Google Cloud. Puedes usar el mismo procedimiento para enrutar las entradas de registro que se originan en una organización, una carpeta o una cuenta de facturación:

  • Puedes crear hasta 200 receptores por proyecto de Google Cloud.
  • No ingreses información sensible en los filtros de receptores. Los filtros de receptores se tratan como datos del servicio.
  • Es posible que los nuevos receptores de registros en buckets de Cloud Storage tarden varias horas en comenzar a enrutar las entradas de registro. Los receptores de Cloud Storage se procesan por hora, mientras que otros tipos de destinos se procesan en tiempo real.
  • Los receptores no pueden enrutar entradas de registro a conjuntos de datos vinculados de BigQuery que son de solo lectura. Si quieres enrutar entradas de registro en BigQuery, el conjunto de datos de destino debe tener habilitada la escritura.

  • Los receptores no definen el esquema para los conjuntos de datos de BigQuery. En cambio, la primera entrada de registro que recibe BigQuery determina el esquema para la tabla de destino. Para obtener más información, consulta el Esquema de BigQuery para los registros enrutados.

  • Para obtener información sobre cómo ver las entradas de registro en el destino de un receptor, ver Visualiza los registros enrutados a los buckets de Cloud Logging.

  • Para ver la cantidad y el volumen de entradas de registro que se enrutan, consulta las métricas logging.googleapis.com/exports/.

  • El Explorador de registros agrega implícitamente el restricción conjuntiva, AND, entre las sentencias que se muestran en el panel de consultas. Por ejemplo, si la línea uno es resource.type = "gce_instance" y la línea dos es severity >= "ERROR", entonces la consulta es resource.type = "gce_instance" AND severity >= "ERROR". Si deseas usar una consulta que muestra el Explorador de registros en otro contexto, por ejemplo, para el filtro de inclusión o exclusión de un receptor, debes modificar la consulta y agregar las restricciones conjuntivas. Para obtener más información, consulta el Lenguaje de consulta de Logging.

Para crear un receptor, haz lo siguiente:

Console

  1. En la consola de Google Cloud, ve a la página Enrutador de registros:

    Ir a Enrutador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Selecciona el proyecto de Google Cloud en el que se encuentran las entradas de registro que deseas enrutar.

    Por ejemplo, si quieres enrutar tus entradas de registro de acceso a los datos desde el proyecto llamado Project-A a un bucket de registros en el proyecto llamado Project-B y, luego, selecciona Project-A.

  3. Selecciona Crear receptor.

  4. En el panel Detalles del receptor, ingresa los siguientes detalles:

    • Nombre del receptor: proporciona un identificador para el receptor. ten en cuenta que, después de crear el receptor, no puedes cambiarle el nombre, pero puedes borrarlo crear un receptor nuevo.

    • Descripción del receptor (opcional): Describe el propósito o el caso de uso del el fregadero.

  5. En el panel Destino del receptor, selecciona el servicio de receptor y el destino con el menú Selecciona el servicio de receptor. Realiza una de las lo siguiente:

    • Para enrutar entradas de registro a un servicio que se encuentra en el mismo proyecto de Google Cloud, selecciona una de las siguientes opciones:

      • Conjunto de datos de BigQuery: Selecciona o crea el conjunto de datos con permisos de escritura para recibir las entradas de registro enrutadas. También tienes la opción de usar tablas particionadas.
      • Bucket de Cloud Storage: Selecciona o crea el bucket de Cloud Storage en particular para recibir las entradas de registro enrutadas.
      • Tema de Pub/Sub: Selecciona o crea el tema específico para recibir las entradas de registro enrutadas.
      • Splunk: Selecciona el tema de Pub/Sub para tu servicio de Splunk.
    • Para enrutar entradas de registro a un proyecto de Google Cloud diferente, selecciona Proyecto de Google Cloud y, luego, ingresa el nombre cualificado del destino. Para obtener más información sobre la sintaxis, consulta la Formatos de las rutas de destino.

    • Para enrutar entradas de registro a un servicio que se encuentra en un proyecto de Google Cloud, haz lo siguiente:

      1. Selecciona Otro recurso.
      2. Ingresa el nombre completamente calificado para el destino. Para obtener información sobre la sintaxis, consulta los formatos de ruta de acceso de destino.
  6. Especifica las entradas de registro que deseas incluir:

    1. Ve al panel Elige registros para incluirlos en el receptor.

    2. En el campo Build inclusion filter, ingresa una expresión de filtro que coincida con las entradas de registro que deseas incluir. Para obtener más información sobre la sintaxis para escribir filtros, consulta Lenguaje de consulta de Logging.

      Si no configuras un filtro, todas las entradas de registro del recurso seleccionado se enrutan al destino.

      Por ejemplo, para enrutar todas las entradas de registro de acceso a los datos a un bucket de registro, puedes usar el siguiente filtro:

      log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
      

      La longitud de un filtro no puede superar los 20,000 caracteres.

    3. Para verificar que ingresaste el filtro correcto, selecciona Obtener vista previa de los registros. El Explorador de registros se abrirá en una pestaña nueva con el filtro prepropagado.

  7. (Opcional) Configura un filtro de exclusión para eliminar algunas de las entradas de registro incluidas:

    1. Ve al panel Elige registros para filtrar fuera del receptor.

    2. En el campo Nombre del filtro de exclusión, ingresa un nombre.

    3. En el campo Crear un filtro de exclusión, ingresa un expresión de filtro que coincide con las entradas de registro que deseas excluir. También puedes usar la función sample para seleccionar una parte de las entradas de registro que deseas excluir.

    Puedes crear hasta 50 filtros de exclusión por sink. Ten en cuenta que la longitud de un filtro no puede superar los 20,000 caracteres.

  8. Selecciona Crear receptor.

  9. Otorga a la cuenta de servicio del receptor el permiso para escribir entradas de registro en el destino del receptor. Para obtener más información, consulta Configura permisos de destino.

gcloud

Para crear un receptor, haz lo siguiente:

  1. Ejecuta el siguiente comando gcloud logging sinks create:

    gcloud logging sinks create SINK_NAME SINK_DESTINATION
    

    Antes de ejecutar el comando, realiza los siguientes reemplazos:

    • SINK_NAME: Es el nombre del receptor de registros. No puedes cambiar el nombre de un sumidero después de crearlo.
    • SINK_DESTINATION: El servicio o proyecto al que deseas enrutar tus entradas de registro. Establece SINK_DESTINATION con la ruta de acceso adecuada, como se describe en Formatos de ruta de acceso de destino.

      Por ejemplo, si el destino del receptor es un tema de Pub/Sub, SINK_DESTINATION se verá de la siguiente manera:

      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      

    También puedes proporcionar las siguientes opciones:

    • --log-filter: Usa esta opción para establecer un filtro que coincida con las entradas de registro que deseas incluir en tu receptor. Si no proporcionas un valor para el filtro de inclusión, este coincidirá con todas las entradas de registro.
    • --exclusion: Usa esta opción para establecer un filtro de exclusión para las entradas de registro que deseas excluir del enrutamiento de tu receptor. También puedes usar Función sample para seleccionar una parte de las entradas de registro que deseas excluir. Esta opción se puede repetir. Puedes crear hasta 50 filtros de exclusión por receptor.
    • --description: Usa esta opción para describir el propósito o el caso de uso. para el fregadero.

    Por ejemplo, para crear un receptor a un bucket de Logging, tu comando podría verse de la siguiente manera:

    gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
     --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"
    

    Para obtener más información sobre cómo crear sumideros con Google Cloud CLI, consulta la referencia de gcloud logging sinks.

  2. Si la respuesta del comando contiene una clave JSON etiquetada como "writerIdentity", otorga a la cuenta de servicio del receptor el permiso para escribir en el destino del receptor. Para obtener más información, consulta Configura permisos de destino.

    No es necesario que establezcas permisos de destino cuando la respuesta no contenga una clave JSON etiquetada como "writerIdentity".

REST

  1. Para crear un receptor de registros en tu proyecto de Google Cloud, usa projects.sinks.create en la API de Logging. En el objeto LogSink, proporciona los valores obligatorios adecuados en el cuerpo de la solicitud del método:

    • name: Es un identificador para el receptor. Ten en cuenta que, después de crear el sink, no puedes cambiarle el nombre, pero puedes borrarlo y crear uno nuevo.
    • destination: Es el servicio y el destino en los que deseas que se realice tu y las entradas de registro enrutadas. Para enrutar entradas de registro a un proyecto diferente o a un destino que se encuentra en otro proyecto, configura el campo destination con la ruta de acceso adecuada, como se describe en Formatos de ruta de acceso de destino.

      Por ejemplo, si el destino del receptor es un tema de Pub/Sub, destination se verá de la siguiente manera:

      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      
  2. En el objeto LogSink, proporciona la información opcional adecuada:

    • filter : Establece el filter. para que coincida con las entradas de registro que quieres incluir en tu receptor. Si no configuras un filtro, todas las entradas de registro de tu proyecto de Google Cloud se enrutan al destino. Ten en cuenta que la longitud de un filtro no puede superar los 20,000 caracteres.
    • exclusions: Configura este campo para que coincida con las entradas de registro que deseas excluir de tu receptor. También puedes usar Función sample para seleccionar una parte de las entradas de registro que deseas excluir. Puedes crear hasta 50 filtros de exclusión por receptor.
    • description: establece este campo para describir el propósito o el caso de uso para el fregadero.
  3. Llama a projects.sinks.create para crear el receptor.

  4. Si la respuesta de la API contiene una clave JSON etiquetada como "writerIdentity", otorga a la cuenta de servicio del destino el permiso para escribir en el destino. Para obtener más información, consulta Configura permisos de destino.

    No necesitas establecer permisos de destino cuando la respuesta de la API no contiene una clave JSON etiquetada como "writerIdentity".

Para obtener más información sobre cómo crear receptores con la API de Logging, consulta la referencia de LogSink.

Si recibes notificaciones de error, consulta Solución de problemas de enrutamiento y receptores.

Formatos de rutas de destino

Si enrutas entradas de registro a un servicio que se encuentra en otro proyecto, debes proporcionarle al receptor el nombre completamente calificado del servicio. De forma similar, si enrutas entradas de registro a un proyecto de Google Cloud diferente, debes proporciona al receptor el nombre completamente calificado del proyecto de destino:

  • Bucket de registros de Cloud Logging:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • Otro proyecto de Google Cloud:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • Conjunto de datos de BigQuery:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • Cloud Storage:

    storage.googleapis.com/BUCKET_NAME
    
  • Tema de Pub/Sub:

    pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
    

Administra los receptores

Después de crear los sumideros, puedes realizar las siguientes acciones en ellos. Cualquier cambio realizado en un receptor puede tardar unos minutos en aplicarse:

  • Ver detalles
  • Actualizar
  • Inhabilitar

    • No puedes inhabilitar el receptor _Required.
    • Puedes inhabilitar el receptor _Default para que deje de enrutar entradas de registro al bucket de registros _Default.
    • Si deseas inhabilitar el receptor _Default para cualquier proyecto o carpeta nuevos de Google Cloud que se creen en tu organización, considera configurar [default resource settings][default-settings].
  • Borrar

    • No puedes borrar los receptores _Default ni _Required.
    • Cuando borras un objeto sink, este ya no enruta las entradas de registro.
    • Si el receptor tiene una cuenta de servicio dedicada, borrar esa receptor también borra la cuenta de servicio. Receptores creados antes del El 22 de mayo de 2023 tienes cuentas de servicio dedicadas. Se crearon los receptores a partir del 22 de mayo de 2023 tengan una cuenta de servicio compartida. Borrar el receptor no borra la cuenta de servicio compartida.
  • Solución de problemas de fallas

  • Visualiza el volumen de registros y las tasas de error

A continuación, se incluyen las instrucciones para administrar un receptor en un proyecto de Google Cloud. En lugar de un proyecto de Google Cloud, puedes especificar una cuenta de facturación, una carpeta o una organización:

Console

  1. En la consola de Google Cloud, ve a la página Enrutador de registros:

    Ir a Enrutador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. En la barra de herramientas, selecciona el recurso que contiene tu sink. El puede ser un proyecto, una carpeta, una organización o una cuenta de facturación.

En la página Enrutador de registros, se muestran los receptores del recurso seleccionado. Cada fila de la tabla contiene información sobre las propiedades de un receptor:

  • Habilitado: Indica si el estado del receptor está habilitado o inhabilitado.
  • Tipo: Es el servicio de destino del receptor; por ejemplo, Cloud Logging bucket.
  • Nombre: el identificador del receptor, tal como se proporcionó cuando se creó el receptor. por ejemplo, _Default.
  • Descripción: la descripción del receptor, como se proporcionó cuando se crear.
  • Destination: Es el nombre completo del destino al que se envían las entradas de registro enrutadas.
  • Creado: La fecha y hora en que se creó el receptor.
  • Última actualización: Es la fecha y hora en que se editó el sumidero por última vez.

Para cada fila de la tabla, el menú Más acciones proporciona las siguientes opciones:

  • Ver detalles del receptor: Muestra el nombre, la descripción, el servicio de destino, el destino y los filtros de inclusión y exclusión del receptor. Si seleccionas Editar, se abrirá el panel Editar receptor.
  • Editar receptor: Abre un panel de Editar receptor en el que puedes actualizar los parámetros del receptor.
  • Inhabilitar receptor: Te permite inhabilitar el receptor y detener las entradas de registro de enrutamiento. al destino del receptor. Para obtener más información sobre cómo inhabilitar los sinks, consulta Cómo dejar de almacenar registros en buckets de registros.
  • Habilitar el receptor: te permite habilitar un receptor inhabilitado y reiniciar las entradas de registro de enrutamiento al destino del receptor.
  • Borrar receptor: Te permite borrar el receptor y detener el enrutamiento de las entradas de registro al destino del receptor.
  • Solucionar problemas del receptor: Abre el Explorador de registros, en el que puedes solucionar problemas del receptor.
  • Ver las tasas de error y el volumen de registro del receptor: Se abre el Explorador de métricas. en la que puedes ver y analizar los datos del receptor.

Para ordenar la tabla por una columna, selecciona el nombre de la columna.

gcloud

  • Para ver la lista de receptores de tu proyecto de Google Cloud, usa el comando gcloud logging sinks list, que corresponde al método de la API de Logging projects.sinks.list:

    gcloud logging sinks list
    

    Para ver tu lista de receptores agregados, usa el opción adecuada para especificar el recurso que contiene el receptor. Por ejemplo, si creaste el receptor a nivel de la organización, usa la opción --organization=ORGANIZATION_ID para enumerar los receptores de la organización.

  • Para describir un receptor, usa el comando gcloud logging sinks describe, que corresponde al método de la API de Logging projects.sinks.get:

    gcloud logging sinks describe SINK_NAME
    
  • Para actualizar un receptor, usa el gcloud logging sinks update que corresponde al método de la API projects.sink.update

    Puedes actualizar un receptor para cambiar el destino, los filtros y la descripción, o bien inhabilitarlo o volver a habilitarlo:

    gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER

    Omite NEW_DESTINATION o --log-filter si esas partes no cambian.

    Por ejemplo, para actualizar el destino de tu sink llamado my-project-sink a un nuevo destino de bucket de Cloud Storage llamado my-second-gcs-bucket, el comando se verá de la siguiente manera:

    gcloud logging sinks update  my-project-sink storage.googleapis.com/my-second-gcs-bucket
    
  • Para inhabilitar un receptor, usa el comando gcloud logging sinks update, que corresponde al método de la API projects.sink.update, y agrega la opción --disabled:

    gcloud logging sinks update SINK_NAME --disabled
    

    Para volver a habilitar el sumidero, usa el comando gcloud logging sinks update, quita la opción --disabled y agrega la opción --no-disabled:

    gcloud logging sinks update SINK_NAME --no-disabled
    
  • Para borrar un receptor, usa el comando gcloud logging sinks delete, que corresponde al método de la API projects.sinks.delete:

    gcloud logging sinks delete SINK_NAME
    

    Para obtener más información sobre cómo administrar los sumideros con Google Cloud CLI, consulta la referencia de gcloud logging sinks.

REST

  • Para ver los receptores de tu proyecto de Google Cloud, llama a projects.sinks.list.

  • Para ver los detalles de un receptor, llama a projects.sinks.get.

  • Para actualizar un receptor, llama a projects.sink.update

    Puedes actualizar el destino, los filtros y la descripción de un sumidero. Puedes inhabilitar o volver a habilitar el receptor.

  • Para inhabilitar un sumidero, configura el campo disabled en el objeto LogSink como true y, luego, llama a projects.sink.update.

    Para volver a habilitar el sink, configura el campo disabled en el objeto LogSink como false y, luego, llama a projects.sink.update.

  • Para borrar un receptor, llama a projects.sinks.delete

    Para obtener más información sobre la administración de los receptores a través del La API de Logging, consulta la referencia de LogSink.

Deja de almacenar entradas de registro en buckets de registros

Puedes inhabilitar el receptor _Default y cualquier receptor definido por el usuario. Cuando inhabilitas un receptor, este deja de enrutar las entradas de registro a su destino. Por ejemplo, si inhabilitas el receptor _Default, no se enrutarán entradas de registro al bucket _Default. El _Default bucket se vacía cuando todas las entradas de registro almacenadas previamente cumpla con los bucket período de retención.

Las siguientes instrucciones muestran cómo inhabilitar los receptores del proyecto de Google Cloud que enrutan las entradas de registro al _Default buckets de registros:

Console

  1. En la consola de Google Cloud, ve a la página Enrutador de registros:

    Ir a Enrutador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Para encontrar todos los receptores que enrutan las entradas de registro al bucket de registro _Default, filtra los receptores por destino y, luego, ingresa _Default.
  3. En cada receptor, selecciona Menú y Luego, selecciona Inhabilitar receptor.

    Los receptores ahora están inhabilitados y el proyecto de Google Cloud no las entradas de registro de ruta más largas al bucket _Default.

Para volver a habilitar un receptor inhabilitado y reiniciar las entradas de registro de enrutamiento al destino del receptor, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Enrutador de registros:

    Ir a Enrutador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Para encontrar todos los receptores que enrutan las entradas de registro al bucket de registro _Default, filtra los receptores por destino y, luego, ingresa _Default.
  3. En cada receptor, selecciona Menú y Luego, selecciona Habilitar receptor.

gcloud

  1. Para ver la lista de receptores de tu proyecto de Google Cloud, usa el gcloud logging sinks list que corresponde al método de la API de Logging projects.sinks.list:

    gcloud logging sinks list
    
  2. Identifica los receptores que enrutan al bucket de registros _Default. Para describir un receptor, incluido ver el nombre de destino, usa el comando gcloud logging sinks describe, que corresponde al método de la API de Logging projects.sinks.get:

    gcloud logging sinks describe SINK_NAME
    
  3. Ejecuta el comando gcloud logging sinks update y, además, incluye la opción --disabled. Por ejemplo, para inhabilitar el receptor _Default, usa el siguiente comando:

    gcloud logging sinks update _Default  --disabled
    

    El receptor _Default ahora está inhabilitado y ya no enruta las entradas de registro al bucket de registro _Default.

Para inhabilitar los otros receptores en tu proyecto de Google Cloud que están enrutando al bucket _Default, repite los pasos anteriores.

Para volver a habilitar un sumidero, usa el comando gcloud logging sinks update, quita la opción --disabled y agrega la opción --no-disabled:

gcloud logging sinks update _Default  --no-disabled

REST

  1. Para ver los receptores de tu proyecto de Google Cloud, llama al Método de la API de Logging projects.sinks.list

    Identifica los sumideros que se enrutan al bucket _Default.

  2. Por ejemplo, para inhabilitar el sumidero _Default, configura el campo disabled en el objeto LogSink como true y, luego, llama a projects.sink.update.

    El receptor _Default ahora está inhabilitado y ya no enruta las entradas de registro al bucket _Default.

Para inhabilitar los otros receptores de tu proyecto de Google Cloud que se enrutan al bucket _Default, repite los pasos anteriores.

Para volver a habilitar un sumidero, configura el campo disabled en el objeto LogSink como false y, luego, llama a projects.sink.update.

Configura los permisos de destino

En esta sección, se describe cómo otorgar a Logging Permisos de Identity and Access Management para escribir entradas de registro en el destino de tu receptor. Para obtener la lista completa de las funciones y los permisos de Logging, consulta Control de acceso.

Cloud Logging crea una cuenta de servicio compartida para un recurso cuando un receptor, a menos que la cuenta de servicio requerida ya exista. La cuenta de servicio puede existir porque se usa la misma cuenta para todos los receptores en el recurso subyacente. Los recursos pueden ser un proyecto de Google Cloud, una organización, una carpeta o una cuenta de facturación.

La identidad de escritor de un receptor es el identificador del servicio. asociada con ese receptor. Todos los receptores tienen una identidad de escritor, excepto por receptores que escriben en un bucket de registros en el mismo proyecto de Google Cloud en el que se origina la entrada de registro. Para esta última configuración, una cuenta de servicio no es obligatorio y, por lo tanto, el campo writer Identity del receptor aparece como None en la consola. La API y los comandos de Google Cloud CLI no informan una identidad de escritor.

Las siguientes instrucciones se aplican a proyectos, carpetas, organizaciones y cuentas de facturación:

Console

  1. Asegúrate de tener acceso de Propietario en la Proyecto de Google Cloud que contiene el destino. Si no tienes acceso de Propietario al destino del receptor, luego pedirle a un propietario del proyecto que agregue la identidad de escritor como principal.

  2. Para obtener la identidad de escritor del receptor (una dirección de correo electrónico) de la receptor nuevo, haz lo siguiente:

    1. En la consola de Google Cloud, ve a la página Enrutador de registros:

      Ir a Enrutador de registros

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

    2. En la barra de herramientas, selecciona el proyecto que contiene el sumidero.
    3. Selecciona Menú y, luego, Ver detalles del receptor. La identidad de escritor aparece en el panel Detalles del receptor.
  3. Si el valor del campo writerIdentity contiene una dirección de correo electrónico, y continúa con el siguiente paso. Cuando el valor es None, no es necesario configurar los permisos de destino para el receptor.

  4. Copia la identidad de escritor del receptor en el portapapeles.

  5. Si el destino es un servicio en un proyecto diferente o si es otro proyecto, selecciona el proyecto de destino en la barra de herramientas.

  6. Agrega la cuenta de servicio como una principal de IAM en la proyecto de destino:

    1. En la consola de Google Cloud, ve a la página IAM:

      Ir a IAM

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.

    2. Selecciona el proyecto de destino.

    3. Haz clic en Grant access.

    4. Otorga a la cuenta de servicio el rol de IAM necesario:

      • Para los destinos de Cloud Storage, agrega la identidad de escritor del receptor como principal con IAM y, luego, otorgarle los Rol de Creador de objetos de almacenamiento (roles/storage.objectCreator).
      • Para los destinos de BigQuery, agrega la identidad de escritor del receptor como principal con IAM y, luego, asígnale el rol de editor de datos de BigQuery (roles/bigquery.dataEditor).
      • En el caso de los destinos de Pub/Sub, incluido Splunk, agrega la identidad de escritor del receptor como principal con IAM y, luego, asígnale el rol de publicador de Pub/Sub (roles/pubsub.publisher).
      • Para los destinos del bucket de Logging en diferentes proyectos de Google Cloud, agrega la identidad de escritor del receptor como principal con IAM y, luego, otórgale el rol de escritor del bucket de registros (roles/logging.bucketWriter).
      • Para los destinos de proyectos de Google Cloud, usa IAM para agregar la identidad de escritor del sink como principal y, luego, otorgarle el rol de escritor de registros (roles/logging.logWriter). Específicamente, un principal necesita el permiso logging.logEntries.route.

gcloud

  1. Asegúrate de tener acceso de Propietario en la Proyecto de Google Cloud que contiene el destino. Si no tienes acceso de Propietario al destino del receptor, luego pedirle a un propietario del proyecto que agregue la identidad de escritor como principal.

  2. Obtén la cuenta de servicio del campo writerIdentity en tu receptor:

    gcloud logging sinks describe SINK_NAME
    
  3. Busca el sink cuyos permisos deseas modificar y, si los detalles del sink contienen una línea con writerIdentity, continúa con el siguiente paso. Cuando los detalles no incluyen un campo writerIdentity, no es necesario que configures los permisos de destino para el receptor.

    La identidad del escritor de la cuenta de servicio se ve de la siguiente manera:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Agrega la cuenta de servicio como principal de IAM en el proyecto de destino:

    Antes de usar el siguiente comando, realiza los siguientes reemplazos:

    • PROJECT_ID: Es el identificador del proyecto.
    • PRINCIPAL: Es un identificador para la principal a la que deseas otorgar el rol. Los identificadores principales suelen tener el siguiente formato: PRINCIPAL-TYPE:ID. Por ejemplo, user:my-user@example.com. Para obtener una lista completa de los formatos que puede tener PRINCIPAL, consulta Identificadores principales.
    • ROLE: Es un rol de IAM.

      • Para los destinos de Cloud Storage, agrega la identidad de escritor del receptor como principal con IAM y, luego, otorgarle el Rol de Creador de objetos de almacenamiento (roles/storage.objectCreator).
      • Para los destinos de BigQuery, agrega la identidad de escritor del receptor como principal con IAM y, luego, otorgarle el Rol de editor de datos de BigQuery (roles/bigquery.dataEditor).
      • En el caso de los destinos de Pub/Sub, incluido Splunk, agrega la identidad de escritor del receptor como principal con IAM y, luego, asígnale el rol de publicador de Pub/Sub (roles/pubsub.publisher).
      • Para los destinos del bucket de Logging en diferentes proyectos de Google Cloud, agrega la identidad de escritor del receptor como principal con IAM y, luego, otórgale el rol de escritor del bucket de registros (roles/logging.bucketWriter).
      • Para los destinos de los proyectos de Google Cloud, agrega de escritor con la identidad de IAM y otorgarle Función de escritor de registros (roles/logging.logWriter). Específicamente, un principal necesita logging.logEntries.route.

    Ejecuta el comando gcloud projects add-iam-policy-binding:

    gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
    

REST

Te recomendamos que uses la consola de Google Cloud o Google Cloud CLI para otorgar un rol a la cuenta de servicio.

Limitaciones de destino

En esta sección, se describen las limitaciones específicas del destino:

  • Si enrutas entradas de registro a un bucket de registro en un proyecto de Google Cloud diferente, Error Reporting no analiza esas entradas de registro. Para obtener más información, consulta Descripción general de Error Reporting.
  • Si enrutas entradas de registro a BigQuery, el conjunto de datos de BigQuery debe estar habilitado para la escritura. No puedes enrutar entradas de registro a conjuntos de datos vinculados, que son de solo lectura.
  • Las siguientes limitaciones se aplican cuando enrutas tus entradas de registro a diferentes Proyectos de Google Cloud:

    • Hay un límite de un salto.

      Por ejemplo, si enrutas las entradas de registro desde proyecto A al proyecto B, entonces no puedes enrutar las entradas de registro desde el proyecto B a un proyecto diferente.

    • Los registros de auditoría no se enrutan al bucket de registros _Required en el proyecto de destino.

      Por ejemplo, si enrutas las entradas de registro del proyecto A al proyecto B, el bucket de registro _Required del proyecto A contiene los registros de auditoría del proyecto A. Los registros de auditoría del proyecto A no se enrutan al proyecto B. Para enrutar estas entradas de registro, crea un receptor cuyo el destino es un bucket de registros.

    • Cuando el proyecto de destino está en una carpeta o organización diferente, los receptores agregados en esa carpeta o organización no enrutan la entrada de registro.

      Por ejemplo, supongamos que el proyecto A está en la carpeta X. Cuando una entrada de registro se origina en el proyecto A, los receptores agregados en la carpeta X y los receptores del proyecto A la procesan. Ahora, imagina que el proyecto A contiene un receptor que enruta sus entradas de registro al proyecto B, que se encuentra en la carpeta Y. Las entradas de registro del proyecto A pasan por los receptores del proyecto B. Sin embargo, no pasan por los receptores agregados de la carpeta Y.

  • Para usar el Explorador de registros y ver las entradas de registro enrutadas a un proyecto con un receptor agregado, configura el campo Define mejor el alcance en el alcance de almacenamiento y, luego, selecciona una vista de registro que proporcione acceso a esas entradas de registro.

Muestras de código

Para usar el código de la biblioteca cliente y configurar los sumideros en los idiomas que elijas, consulta Bibliotecas cliente de registro: Sumideros de registro.

Filtra ejemplos

Estos son algunos ejemplos de filtros que resultan particularmente útiles al crear lavamanos. Para ver ejemplos adicionales que podrían ser útiles cuando crees tus filtros de inclusión y de exclusión, consulta Consultas de muestra.

Restablece el filtro de receptor _Default

Si editaste el filtro para el receptor _Default, es posible que quieras restablecer este receptor a su configuración original. Cuando se crea, el receptor _Default se configurada con el siguiente filtro de inclusión y un filtro de exclusión vacío:

  NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
  log_id("externalaudit.googleapis.com/activity") AND NOT \
  log_id("cloudaudit.googleapis.com/system_event") AND NOT \
  log_id("externalaudit.googleapis.com/system_event") AND NOT \
  log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
  log_id("externalaudit.googleapis.com/access_transparency")

Excluye los registros de contenedores y Pods de Google Kubernetes Engine

Excluir las entradas de registro del contenedor y el Pod de Google Kubernetes Engine para El sistema de GKE namespaces usa el siguiente filtro:

resource.type = ("k8s_container" OR "k8s_pod")
resource.labels.namespace_name = (
"cnrm-system" OR
"config-management-system" OR
"gatekeeper-system" OR
"gke-connect" OR
"gke-system" OR
"istio-system" OR
"knative-serving" OR
"monitoring-system" OR
"kube-system")

Para excluir las entradas de registro del nodo de Google Kubernetes Engine para el sistema logNames de GKE, usa el siguiente filtro:

resource.type = "k8s_node"
logName:( "logs/container-runtime" OR
"logs/docker" OR
"logs/kube-container-runtime-monitor" OR
"logs/kube-logrotate" OR
"logs/kube-node-configuration" OR
"logs/kube-node-installation" OR
"logs/kubelet" OR
"logs/kubelet-monitor" OR
"logs/node-journal" OR
"logs/node-problem-detector")

Para ver el volumen de las entradas de registro del contenedor, los Pods y los nodos de Google Kubernetes Engine almacenados en buckets de registros, usa el Explorador de métricas:

Excluye los registros de Dataflow que no son necesarios para la compatibilidad

Excluir las entradas de registro de Dataflow que no se requieren supportability, usa el siguiente filtro:

resource.type="dataflow_step"
labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"

Para ver el volumen de registros de Dataflow almacenados en buckets de registros, usa el Explorador de métricas.

Compatibilidad

Si bien Cloud Logging te permite excluir entradas de registro y evitar que se almacenen en un bucket de registro, te recomendamos que consideres conservar las entradas de registro que ayudan con la compatibilidad. Usar estas entradas de registro puede ayudarte a identificar y solucionar problemas en tus aplicaciones.

Por ejemplo, las entradas de registro del sistema de GKE son útiles para solucionar problemas para tus aplicaciones y clústeres de GKE generados para los eventos que ocurren en tu clúster. Estas entradas de registro pueden ayudarte a determinar si el código de tu aplicación o el clúster de GKE subyacente es la causa del error. Registros del sistema de GKE también incluirán el registro de auditoría de Kubernetes que genera el servidor de la API de Kubernetes que incluye los cambios realizados con el comando de kubectl y Kubernetes eventos.

Para Dataflow, recomendamos que, como mínimo, escribas tu sistema registros (labels."dataflow.googleapis.com/log_type"="system") y compatibilidad registros (labels."dataflow.googleapis.com/log_type"="supportability") a buckets de registros. Estos registros son esenciales para que los desarrolladores observen y solucionen problemas de sus canalizaciones de Dataflow, y es posible que los usuarios no puedan usar la página Detalles del trabajo de Dataflow para ver los registros de trabajo.

¿Qué sigue?