En este documento, se explica cómo crear y administrar receptores para enrutar las entradas de registro a destinos compatibles.
Descripción general
Los receptores controlan cómo Cloud Logging enruta los registros. Con receptores, puedes enrutar algunos o todos tus registros a destinos compatibles.
Los receptores pertenecen a un recurso determinado de Google Cloud: proyectos de 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 contenidos en ese recurso. La entrada de registro se envía al destino asociado con cada receptor coincidente.
También puedes crear receptores agregados para especificar que tu receptor combine y enrute entradas de registro de los recursos de Google Cloud que contiene una organización o carpeta. Si deseas obtener instrucciones, consulta Configura receptores agregados.
Para crear y administrar receptores, puedes usar Cloud Console, la API de Cloud Logging y la CLI de Google Cloud. Usar Cloud Console tiene las siguientes ventajas sobre los otros métodos:
- Consulta y administra todos tus receptores en un solo lugar.
- Obtén una vista previa de las entradas de registro que coinciden con el filtro de tu receptor antes de crearlo.
- Crea y autoriza destinos de receptor para tus receptores.
Destinos admitidos
Puedes enrutar registros a los siguientes destinos:
- Cloud Storage: archivos JSON almacenados en buckets de Cloud Storage
- Pub/Sub: Mensajes JSON entregados a temas de Pub/Sub Admite integraciones de terceros, como Splunk, con Logging.
- BigQuery: tablas creadas en conjuntos de datos de BigQuery.
- Otro bucket de Cloud Logging: entradas de registro alojadas en buckets de registro de Cloud Logging
Antes de comenzar
En las instrucciones de este documento, se describe cómo crear y administrar receptores a nivel de proyecto de Cloud, pero puedes crear receptores (no agregados) para cuentas de facturación, carpetas y organizaciones.
Cuando comience, asegúrese de lo siguiente:
Tienes un proyecto de Google Cloud con registros que puedes ver en el Explorador de registros.
Tienes una de las siguientes funciones de IAM para el proyecto de Cloud de origen desde el que enrutas los registros.
- Propietario (
roles/owner
) - Administrador de Logging (
roles/logging.admin
) - Escritor de configuración de registros (
roles/logging.configWriter
)
Los permisos que contienen estas funciones te permiten crear, borrar o modificar receptores. Para obtener información sobre cómo configurar las funciones de IAM, consulta la Guía de control de acceso de Logging.
- Propietario (
Tienes un recurso en un destino compatible o puedes crear uno.
El destino de enrutamiento se debe crear antes del receptor, a través de las API de Google Cloud, Cloud Console o las de Google Cloud. Puedes crear el destino en cualquier proyecto de Cloud en cualquier organización, pero primero asegúrate de que la cuenta de servicio del receptor tenga permisos para escribir en el destino.
Sugerencia: Si deseas inhabilitar el receptor Default
para cualquier carpeta o proyecto de Cloud nuevo que se cree en tu organización, considera establecer la configuración predeterminada de recursos.
Crea un receptor
A continuación, se brindan las instrucciones para crear un receptor en un proyecto de Cloud. En lugar de un proyecto de Cloud, puedes especificar una cuenta, organización o carpeta de facturación.
Puedes crear hasta 200 receptores por proyecto de Cloud.
Después de crear el receptor, asegúrate de que Logging tenga los permisos adecuados para escribir registros en el destino del receptor; consulta Configura los permisos de destino.
Para crear un receptor, haz lo siguiente:
Console
En Cloud Console, ve a la página Enrutador de registros:
Selecciona un proyecto de Cloud existente.
Seleccione Crear receptor.
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 cambiar su nombre, pero puedes borrarlo y crear uno nuevo.
Descripción del receptor (opcional): Describe el propósito o caso de uso del receptor.
En el panel Destino del receptor, selecciona el servicio y el destino del receptor:
- Selecciona un servicio de receptor: Selecciona el servicio al que deseas enrutar los registros.
Según el servicio que elijas, puedes elegir uno de los siguientes destinos:
- Bucket de Cloud Logging: selecciona o crea un bucket de Logging.
- Tabla de BigQuery: selecciona o crea el conjunto de datos particular para recibir los registros enrutados. 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 los registros enrutados.
- Tema de Pub/Sub: selecciona o crea el tema en particular para recibir los registros enrutados.
- Splunk: Selecciona el tema de Pub/Sub para tu servicio de Splunk.
Otro proyecto de Cloud: Agrega de forma manual la información de destino y de servicio de Logging, BigQuery, Cloud Storage o Pub/Sub en el siguiente formato:
SERVICE.googleapis.com/projects/PROJECT_ID/SINK_DESTINATION/DESTINATION_ID
Por ejemplo, si tu destino de receptor es un conjunto de datos de BigQuery, el destino del receptor sería el siguiente:
bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
Ten en cuenta que, si enrutas registros entre proyectos de Cloud, aún necesitas los permisos de destino adecuados.
En el panel Elige registros para incluirlos en el receptor, haz lo siguiente:
En el campo Crear filtro de inclusión, ingresa una expresión de filtros que coincida con las entradas de registro que deseas incluir. Si no configuras un filtro, todos los registros del recurso seleccionado se enrutarán al destino.
Por ejemplo, puede que quieras compilar un filtro para enrutar todos los registros de acceso a los datos a un solo bucket de Logging. Este filtro se verá de la siguiente manera:
LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
Ten en cuenta que la longitud de un filtro no puede superar los 20,000 caracteres.
Para verificar que ingresaste el filtro correcto, selecciona Obtener vista previa de los registros. Se abrirá el Explorador de registros en una pestaña nueva con el filtro prepropagado.
(Opcional) En el panel Elige registros para filtrar fuera del receptor, haz lo siguiente:
En el campo Nombre del filtro de exclusión, ingresa un nombre.
En el campo Crear un filtro de exclusión, ingresa una expresión de filtros que coincida 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 quieres excluir.
Puedes crear hasta 50 filtros de exclusión por receptor. Ten en cuenta que la longitud de un filtro no puede superar los 20,000 caracteres.
Seleccione Crear receptor.
API
Para crear un receptor de registros en tu proyecto de Cloud, usa projects.sinks.create en la API de Logging. En el objeto LogReceptor, proporciona los valores necesarios 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 receptor, no puedes cambiarle el nombre, pero puedes borrarlo y crear uno nuevo.destination
: El servicio y el destino al que deseas enrutar tus registros Por ejemplo, si tu destino de receptor es un conjunto de datos de BigQuery,destination
se vería de la siguiente manera:bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
En el objeto LogReceptor, proporciona la información opcional apropiada:
filter
: Configura la propiedadfilter
para que coincida con las entradas de registro que deseas incluir en tu receptor. Si no configuras un filtro, todos los registros de tu proyecto de Cloud se enrutarán al destino. Ten en cuenta que la longitud de un filtro no puede superar los 20,000 caracteres.exclusions
: Configura esta propiedad para que coincida con las entradas de registro que deseas excluir del receptor. También puedes usar la funciónsample
para seleccionar una parte de las entradas de registro que quieres excluir. Puedes crear hasta 50 filtros de exclusión por receptor.description
: Configura esta propiedad para describir el propósito o el caso de uso del receptor.
Llama a projects.sinks.create para crear el receptor.
Recupera el nombre de la cuenta de servicio del campo
writer_identity
que se muestra en la respuesta de la API.Otorga permiso a esa cuenta de servicio para escribir en el destino del receptor.
Si no tienes permiso para realizar ese cambio en el destino del receptor, envía el nombre de la cuenta de servicio a alguien que pueda realizarlo por ti.
Si quieres obtener más información sobre cómo otorgar permisos a las cuentas de servicio para los recursos, consulta la sección Establece permisos de destino.
A fin de obtener más información sobre cómo crear receptores con la API de Logging, consulta la referencia de LogReceptor.
gcloud
Para crear un receptor, ejecuta el siguiente comando:gcloud logging sinks create
Proporcione los valores adecuados para las variables en el comando de la siguiente manera:
- SINK_NAME: Es un identificador para el receptor. Ten en cuenta que después de crear el receptor no puedes cambiarle el nombre, pero puedes borrarlo y crear uno nuevo.
SINK_DESTINATION: El servicio y el destino al que deseas que se enruten tus registros Por ejemplo, si tu destino de receptor es un conjunto de datos de BigQuery, SINK_DESTINATION se vería de la siguiente manera:
bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
OPTIONAL_FLAGS incluye las siguientes marcas:
--log-filter
: Usa esta marca para configurar un filtro que coincida con las entradas de registro que deseas incluir en tu receptor. Si no configuras un filtro, todos los registros de tu proyecto de Cloud se enrutarán al destino.--exclusion
: Usa esta marca a fin de establecer un filtro de exclusión para las entradas de registro que deseas excluir de tu receptor. También puedes usar la funciónsample
para seleccionar una parte de las entradas de registro que quieres excluir. Esta marca puede repetirse; puedes crear hasta 50 filtros de exclusión por receptor.--description
: Usa esta marca para describir el propósito o el caso de uso del receptor.
gcloud logging sinks create SINK_NAME SINK_DESTINATION OPTIONAL_FLAGS
Por ejemplo, para crear un receptor a un bucket de Logging, el comando podría verse así:
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 receptores con la CLI de Google Cloud, incluidas más marcas y ejemplos, consulta la referencia de gcloud logging sinks
.
Es posible que los nuevos receptores de registros en buckets de Cloud Storage tarden varias horas en comenzar a enrutar los registros. Los receptores de Cloud Storage se procesan por hora, mientras que otros tipos de destinos se procesan en tiempo real.
Para obtener información sobre cómo ver los registros en los destinos del receptor, consulta Encuentra registros enrutados.
Después de crear el receptor, puedes ver la cantidad y el volumen de entradas de registro recibidas mediante las métricas logging.googleapis.com/exports/
.
Si recibes notificaciones de error, consulta Cómo solucionar problemas de enrutamiento y receptores.
Enruta registros entre buckets de registros en diferentes proyectos de Cloud
Puedes enrutar los registros a un destino en un proyecto de Cloud diferente del que se crea en el receptor.
Para ello, debes realizar una de las siguientes acciones:
Asigna a la cuenta de servicio del receptor la función
roles/logging.bucketWriter
para escribir en el destino. Consulta Permisos de destino a fin de obtener instrucciones.Ten uno de los siguientes permisos de IAM para el proyecto de Cloud de origen desde el que envías registros.
- Propietario (
roles/owner
) - Administrador de Logging (
roles/logging.admin
) - Escritor de configuración de registros (
roles/logging.configWriter
)
Si quieres crear un bucket de Logging nuevo en el proyecto de Cloud de destino, debes tener uno de estos permisos.
- Propietario (
Administrar receptores
Después de crear tus receptores, puedes realizar estas acciones en ellos:
- Ver detalles del receptor
- Actualizar el receptor
- Inhabilitar receptor
- Borrar receptor
- Solucionar problemas del receptor
- Visualiza las tasas de error y el volumen de registro del receptor
Si borras un receptor, ten en cuenta lo siguiente:
- No puedes borrar los receptores
_Default
y_Required
, pero puedes inhabilitar los receptores_Default
para detener el enrutamiento de registros a depósitos de_Default
. - Después de borrar un receptor, este deja de enrutar las entradas de registro.
- Después de borrar un receptor, se borra su cuenta de servicio.
Cualquier cambio que se realice en un receptor puede tardar unos minutos en aplicarse.
A continuación, se brindan las instrucciones para administrar un receptor en un proyecto de Cloud. En lugar de un proyecto de Cloud, puedes especificar una cuenta de facturación, una organización o una carpeta:
Console
Puedes ver y administrar tus receptores en la página Enrutador de registros:
Selecciona el proyecto de Cloud que contiene tu receptor con el selector de recursos desde cualquier parte de Cloud Console:
Para ver tus receptores agregados, selecciona la organización, carpeta o cuenta de facturación que contenga el receptor.
La interfaz del Enrutador de registros contiene un resumen de la tabla de los receptores. Cada fila de la tabla contiene información sobre las propiedades de un receptor:
- Habilitada: Indica si el estado del receptor está habilitado o inhabilitado.
- Tipo: 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, según se proporcionó cuando se creó el receptor
- Destino: es el nombre completo del destino al que se enviarán las entradas de registro.
- Creado: la fecha y hora en que se creó el receptor.
- Última actualización: La fecha y hora de la última edición del receptor.
Cada fila de la tabla tiene un menú more_vert y cuenta con 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 el receptor: te permite inhabilitar el receptor y dejar de enrutar registros al destino del receptor. Si quieres obtener más información para inhabilitar receptores, consulta Detén la transferencia de registros.
- Habilitar el receptor: te permite habilitar un receptor inhabilitado y reiniciar los registros de enrutamiento al destino del receptor.
- Borrar receptor: Te permite borrar el receptor y detener el enrutamiento de los registros al destino del receptor.
- Solucionar problemas del receptor: Abre el Explorador de registros donde puedes solucionar errores con el receptor.
- Ver el volumen de registros del receptor y las tasas de errores: abre el Explorador de métricas en el que puedes ver y analizar datos desde el receptor.
Hacer clic en cualquiera de los nombres de columna te permite ordenar los datos de forma ascendente o descendente.
API
Para ver los receptores de tu proyecto de 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 receptor. También puedes inhabilitar o volver a habilitar el receptor.
Para inhabilitar un receptor, llama a
projects.sink.update
y establece la propiedaddisabled
entrue
.Para volver a habilitar el receptor, llama a
projects.sink.update
y establece la propiedaddisabled
enfalse
.Para borrar un receptor, llama a
projects.sinks.delete
.Si quieres obtener más información sobre cualquiera de estos métodos para administrar receptores con la API de Logging, consulta la referencia de LogReceptor.
gcloud
Para ver la lista de receptores de tu proyecto de Cloud, usa el comando
gcloud logging sinks list
, que corresponde al métodoprojects.sinks.list
de la API de Logging:gcloud logging sinks list
Para ver tu lista de receptores agregados, usa la marca adecuada a fin de especificar el recurso que contiene el receptor. Por ejemplo, si creaste el receptor a nivel de la organización, usa la marca
--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 Loggingprojects.sinks.get
:gcloud logging sinks describe SINK_NAME
Para actualizar un receptor, usa el comando
gcloud logging sinks update
, que corresponde al método de la APIprojects.sink.update
.Puedes actualizar un receptor para cambiar el destino, los filtros y la descripción, o para inhabilitar o volver a habilitar el receptor:
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 del receptor llamado
my-project-sink
a un nuevo destino de bucket de Cloud Storage llamadomy-second-gcs-bucket
, tu comando se ve 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 APIprojects.sink.update
, y agrega la marca--disabled
:gcloud logging sinks update _Default --disabled
Para volver a habilitar el receptor, usa la marca
gcloud logging sinks update
y quita la marca--disabled
, además de la marca--no-disabled
:gcloud logging sinks update _Default --no-disabled
Para borrar un receptor, usa el comando
gcloud logging sinks delete
, que corresponde al método de la APIprojects.sinks.delete
:gcloud logging sinks delete SINK_NAME
Si quieres obtener más información para administrar receptores con la CLI de Google Cloud, consulta la referencia
gcloud logging sinks
.
Detener la transferencia de registros
Para cada proyecto de Cloud, Logging crea automáticamente dos buckets de registros: _Required
y _Default
.
Logging crea automáticamente dos receptores de registros, _Required
y _Default
, que enrutan los registros a los buckets con nombre correspondientes.
No puedes inhabilitar el receptor _Required
. No se aplican los precios de transferencia ni los de almacenamiento a los datos de registros almacenados en el bucket de registros _Required
. Puedes inhabilitar el receptor _Default
para evitar que los registros se transfieran al bucket _Default
. También puedes inhabilitar los receptores definidos por el usuario.
Cuando detienes la transferencia de registros para el bucket _Default
mediante la inhabilitación de todos los receptores en el proyecto de Cloud que envían registros al bucket _Default
, el proyecto de Cloud no genera cargos de transferencia de Cloud Logging nuevos por el bucket _Default
. El bucket _Default
está vacío cuando todos los registros transferidos anteriormente en el bucket _Default
completaron el período de retención del bucket.
Para inhabilitar los receptores de tu proyecto de Cloud que enrutan los registros al bucket _Default
, completa los siguientes pasos:
Console
En Cloud Console, ve a la página Enrutador de registros:
Para encontrar todos los receptores que enrutan los registros al bucket
_Default
, filtra los receptores por destino y, luego, ingresa_Default
.Para cada receptor, selecciona Menú more_vert y, luego, Inhabilitar receptor.
Los receptores ahora están inhabilitados y los del proyecto de Cloud ya no reciben registros de ruta en el bucket _Default
.
Para volver a habilitar un receptor inhabilitado y reiniciar los registros de enrutamiento al destino del receptor, sigue estos pasos:
En Cloud Console, ve a la página Enrutador de registros:
A fin de encontrar todos los receptores inhabilitados con anterioridad para enrutar los registros al bucket
_Default
, filtra los receptores por destino y, luego, ingresa_Default
.Para cada receptor, selecciona Menú more_vert y, luego, Habilitar receptor.
API
Para ver los receptores de tu proyecto de Cloud, llama al método de la API de Logging
projects.sinks.list
.Identifica los receptores que se enrutan al bucket
_Default
.Por ejemplo, para inhabilitar el receptor
_Default
, llama aprojects.sink.update
y establece la propiedaddisabled
entrue
.
El receptor _Default
ahora está inhabilitado; ya no enruta los registros al bucket _Default
.
Repite los pasos anteriores para inhabilitar los otros receptores del proyecto de Cloud que se enrutan al bucket _Default
.
Para volver a habilitar un receptor, llama a projects.sink.update
y establece la propiedad disabled
en false
.
gcloud
Para ver la lista de receptores de tu proyecto de Cloud, usa el comando
gcloud logging sinks list
, que corresponde al métodoprojects.sinks.list
de la API de Logging:gcloud logging sinks list
Identifica los receptores que se enrutan al bucket
_Default
. Para describir un receptor, incluido el nombre del destino, usa el comandogcloud logging sinks describe
, que corresponde al método de la API de Loggingprojects.sinks.get
:gcloud logging sinks describe SINK_NAME
Por ejemplo, para inhabilitar el receptor
_Default
, usa el comandogcloud logging sinks update
y, luego, incluye la marca--disabled
:gcloud logging sinks update _Default --disabled
El receptor _Default
ahora está inhabilitado; ya no enruta los registros al bucket _Default
.
Repite los pasos anteriores para inhabilitar los otros receptores del proyecto de Cloud que se enrutan al bucket _Default
.
Para volver a habilitar un receptor, usa el comando gcloud logging sinks update
y quita la marca --disabled
, además de la marca --no-disabled
:
gcloud logging sinks update _Default --no-disabled
Configura los permisos de destino
En esta sección, se describe cómo otorgar a Logging los permisos de Identity and Access Management para escribir los registros en el destino de tu receptor. Para obtener la lista completa de las funciones y los permisos de Logging, consulta Control de acceso.
Cuando creas un receptor, Logging crea una cuenta de servicio nueva para él, denominada identidad de escritor única. Tu destino del receptor debe permitir que esta cuenta de servicio escriba entradas de registro. No puedes administrar esta cuenta de servicio directamente, ya que Cloud Logging es el propietario y el que administra. La cuenta de servicio se borra si se borra el receptor.
Si usas un receptor para enrutar registros entre buckets de Logging en el mismo proyecto de Cloud, no se crea ninguna cuenta de servicio nueva; el receptor funciona sin la identidad única de escritor. Si usas un receptor para enrutar registros entre buckets de Logging en diferentes proyectos de Cloud, se creará una cuenta de servicio nueva.
A continuación, se brindan las instrucciones para configurar los permisos a nivel de proyecto de Cloud de modo que tu receptor se enrute a su destino. En lugar de un proyecto de Cloud, puedes especificar una cuenta de facturación, una organización o una carpeta:
Console
Para obtener la identidad de escritor del receptor (una dirección de correo electrónico) desde el receptor nuevo, sigue estos pasos:
En Cloud Console, ve a la página Enrutador de registros:
Selecciona Menú y, luego, more_vert Ver detalles del receptor. La identidad del escritor aparece en el panel Detalles del receptor.
Para copiar la identidad del escritor del receptor, haz clic en Copiar content_copy.
Si tienes acceso de Propietario al destino, agrega la cuenta de servicio de la siguiente manera:
- Para los destinos de Cloud Storage, agrega la identidad de escritor del receptor a tu bucket y asígnale la función de creador de objetos de almacenamiento.
- Para los destinos de BigQuery, agrega la identidad de escritor del receptor a tu conjunto de datos y asígnale la función de editor de datos de BigQuery.
- En el caso de Pub/Sub, agrega la identidad de escritor del receptor a tu tema y asígnale la función de publicador de Pub/Sub.
- Para los destinos del bucket de Logging en diferentes proyectos de Cloud, agrega la identidad de escritor del receptor al bucket de registro de destino y otórgale el permiso
roles/logging.bucketWriter
.
Si no tienes acceso de Propietario al destino del receptor, envía el nombre de la cuenta de servicio del escritor a alguien que tenga esa capacidad. Esa persona debería seguir las instrucciones del paso anterior para agregar la identidad de escritor al destino del receptor.
API
Llama al método de la API projects.sinks.create o projects.sinks.update para crear o modificar el receptor.
Establece
uniqueWriterIdentity
entrue
. Cuando actualizas un receptor, puedes cambiar de un escritor compartido a uno único. Si el receptor existente ya usa un escritor único, el receptor actualizado usa el mismo escritor.Los métodos muestran el receptor nuevo, que contiene la nueva identidad de escritor.
Si tienes acceso de Propietario de IAM al destino, agrega la cuenta de servicio al destino de la siguiente manera:
- Para los destinos de Cloud Storage, agrega la identidad de escritor del receptor a tu bucket y asígnale la función de creador de objetos de almacenamiento.
- Para los destinos de BigQuery, agrega la identidad de escritor del receptor a tu conjunto de datos y asígnale la función de editor de datos de BigQuery.
- En el caso de Pub/Sub, agrega la identidad de escritor del receptor a tu tema y asígnale la función de publicador de Pub/Sub.
- Para los destinos del bucket de Logging en diferentes proyectos de Cloud, agrega la identidad de escritor del receptor al bucket de registro de destino y otórgale el permiso
roles/logging.bucketWriter
.
Si no tienes acceso de Propietario al destino del receptor, envía el nombre de la cuenta de servicio del escritor a alguien que tenga esa capacidad. Esa persona debería seguir las instrucciones del paso anterior para agregar la identidad de escritor al destino del receptor.
gcloud
Obtén la cuenta de servicio del campo
writerIdentity
en tu receptor:gcloud logging sinks describe SINK_NAME
La cuenta de servicio se verá de la siguiente manera:
serviceAccount:p123456789012-12345@gcp-sa-logging.iam.gserviceaccount.com
Si tienes acceso de Propietario de IAM al destino, agrega la cuenta de servicio al destino de la siguiente manera:
- Para los destinos de Cloud Storage, agrega la identidad de escritor del receptor a tu bucket y asígnale la función de creador de objetos de almacenamiento.
- Para los destinos de BigQuery, agrega la identidad de escritor del receptor a tu conjunto de datos y asígnale la función de editor de datos de BigQuery.
- En el caso de Pub/Sub, agrega la identidad de escritor del receptor a tu tema y asígnale la función de publicador de Pub/Sub.
- Para los destinos del bucket de Logging en diferentes proyectos de Cloud, agrega la identidad de escritor del receptor al bucket de registro de destino y otórgale el permiso
roles/logging.bucketWriter
.
Si no tienes acceso de Propietario al destino del receptor, envía el nombre de la cuenta de servicio del escritor a alguien que tenga esa capacidad. Esa persona debería seguir las instrucciones del paso anterior para agregar la identidad de escritor al destino del receptor.
Por ejemplo, si enrutas registros entre buckets de Logging en diferentes proyectos de Cloud, debes agregar
roles/logging.bucketWriter
a la cuenta de servicio de la siguiente manera:Obtén la política de Identity and Access Management para el proyecto de destino de Cloud y escríbela en un archivo local en formato JSON:
gcloud projects get-iam-policy DESTINATION_PROJECT_ID --format json > output.json
Agrega una condición de IAM que permita a la cuenta de servicio escribir solo en el bucket de Cloud Logging que creaste. Por ejemplo:
{ "bindings": [ { "members": [ "user:username@gmail.com" ], "role": "roles/owner" }, { "members": [ "[SERVICE_ACCOUNT]" ], "role": "roles/logging.bucketWriter", "condition": { "title": "Bucket writer condition example", "description": "Grants logging.bucketWriter role to service account [SERVICE_ACCOUNT] used by log sink [SINK_NAME]", "expression": "resource.name.endsWith(\'locations/global/buckets/BUCKET_ID\')" } } ], "etag": "BwWd_6eERR4=", "version": 3 }
Actualiza la política de IAM:
gcloud projects set-iam-policy DESTINATION_PROJECT_ID output.json
Muestras de código
Si quieres usar código de biblioteca cliente para configurar receptores en los lenguajes elegidos, consulta Bibliotecas cliente de Logging: Receptores de registros.
Filtra ejemplos
A continuación, se incluyen algunos ejemplos de filtros que resultan particularmente útiles cuando se crean receptores.
Para ver ejemplos adicionales que podrían ser útiles a medida que creas tus filtros de inclusión y de exclusión, consulta Consultas de muestra.
Restablece el filtro de receptor _Default
Si editaste el filtro del receptor _Default
, te recomendamos restablecer su filtro predeterminado. Para ello, ingresa el siguiente filtro de inclusión:
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")
Excluir los registros de Pods y contenedores de Google Kubernetes Engine
Para excluir los registros de Pods y contenedores de Google Kubernetes Engine del 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")
A fin de excluir los registros de nodos de Google Kubernetes Engine para el sistema de GKE logNames
, 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 los datos de los registros de nodo, Pod y contenedor de Google Kubernetes Engine transferidos a Cloud Logging, usa el Explorador de métricas en Cloud Monitoring.
Excluir los registros de Dataflow que no son necesarios para la compatibilidad
Para excluir los registros de Dataflow que no son necesarios en cuanto a compatibilidad, 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 datos de registros de Dataflow transferidos a Cloud Logging, usa el Explorador de métricas en Cloud Monitoring.
Compatibilidad
Si bien Cloud Logging te brinda la capacidad de excluir registros para que no se transfieran, te recomendamos conservar los registros que ayudan con la compatibilidad. El uso de estos registros puede ayudarte a identificar rápidamente los problemas de tus aplicaciones y a identificarlos.
Por ejemplo, los registros del sistema de GKE son útiles para solucionar problemas de las aplicaciones y los clústeres de GKE porque se generan para los eventos que ocurren en el clúster. Estos registros pueden ayudarte a determinar si el código de tu aplicación o el clúster de GKE subyacente causa el error de tu aplicación. Los registros del sistema de GKE también incluyen el registro de auditoría de Kubernetes generado por el componente del servidor de la API de Kubernetes, que incluye los cambios realizados con el comando de kubectl y los eventos de Kubernetes.
Para Dataflow, te recomendamos que, como mínimo, transfieras los registros de tu sistema (labels."dataflow.googleapis.com/log_type"="system"
) y de compatibilidad (labels."dataflow.googleapis.com/log_type"="supportability"
). Estos registros son esenciales para que los desarrolladores observen y solucionen 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 trabajos.
¿Qué sigue?
Si tienes problemas cuando usas receptores para enrutar registros, consulta Solución de problemas de enrutamiento y receptores.
Para obtener información sobre cómo ver los registros enrutados en sus destinos, además de cómo se les da formato y cómo se organizan, consulta Visualiza registros en destinos de receptor.