Ayúdanos a definir el futuro de las operaciones de software y haz oír tu voz con la encuesta del estado de DevOps 2021.

Receptores agregados

En esta página, se describe cómo crear un receptor agregado que puede enrutar entradas de registro de todos los proyectos, carpetas y cuentas de facturación de Google Cloud de una organización de Google Cloud. Por ejemplo, puedes agregar y enrutar las entradas de registro de auditoría de los proyectos de Cloud de una organización a un destino central.

Concepto

Sin la función de receptor agregada, los receptores se limitan a enrutar las entradas de registro del recurso exacto en el que se creó el receptor: un proyecto de Google Cloud, una organización, una carpeta o una cuenta de facturación.

Para usar receptores agregados, crea un receptor en una organización o carpeta de Google Cloud y establece el parámetro includeChildren del receptor en True. Ese receptor puede enrutar entradas de registro de la organización o carpeta, así como desde cualquier carpeta, cuenta de facturación o proyecto (de forma recurrente). Puedes usar el filtro del receptor para especificar entradas de registro de proyectos, tipos de recursos o registros con nombre.

Para obtener información sobre los receptores y cómo crearlos, ve a Exporta registros en la API y Usa la herramienta de línea de comandos para crear receptores.

Crea el destino

El destino de los receptores de registros debe crearse antes que el receptor mediante la herramienta de línea de comandos de gcloud, Cloud Console o las API de Google Cloud.

Estos son los destinos admitidos para los receptores:

Si la cuenta de servicio del receptor de registros tiene permisos para escribir en el destino, el destino se puede crear en cualquier proyecto de Cloud de cualquier organización.

Crea un receptor agregado

Para crear un receptor agregado en carpetas, cuentas de facturación u organizaciones de Google Cloud, puedes usar el siguiente comando:API de Cloud Logging ogcloud herramienta de línea de comandos las rutas "a GCP".

API

Para crear un receptor de registros, usa organizations.sinks.create, folders.sinks.create o billingAccounts.sinks.create en la API de Logging. Prepara los argumentos del método de la siguiente manera:

  1. Establece el parámetro parent para que sea la organización, la carpeta o la cuenta de facturación de Google Cloud en la que deseas crear el receptor. El superior debe ser uno de los siguientes:

    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
    • billingAccounts/BILLING_ACCOUNT_ID
  2. En el objeto LogSink del cuerpo de la solicitud del método, haz lo siguiente:

    • Establece includeChildren en True.

    • Establezca la propiedad filter. Logging hace coincidir todas las entradas de registro de todos tus proyectos en el filtro.

      Para ver algunos ejemplos de filtros útiles, ve a la sección sobre cómo crear filtros para receptores agregados.

    • Establece los campos LogSink restantes como lo harías para cualquier otro receptor. A fin de obtener más información, consulta Crea receptores.

  3. Llama a organizations.sinks.create o folders.sinks.create para crear el receptor.

  4. Recupera el nombre de la cuenta de servicio del campo writer_identity que se muestra en la respuesta de la API.

  5. Otórgale a la cuenta de servicio permiso para escribir a tu 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.

    A fin de obtener más información sobre cómo otorgar permisos de cuentas de servicio para recursos, revisa los siguientes vínculos a tu destino del receptor:

    Depósitos de Cloud Storage Temas de Pub/Sub Tablas de BigQuery Depósitos de Cloud Logging

command-line

Para crear un receptor de registros, usa el comando logging sinks create.

  1. Proporciona el nombre del receptor, el destino del receptor, el filtro y el ID de la organización, carpeta o cuenta de facturación.

    Por ejemplo, configura un receptor agregado a nivel de la carpeta de la siguiente manera:

    gcloud logging sinks create SINK_NAME \
    storage.googleapis.com/BUCKET_NAME --include-children \
    --folder=FOLDER_ID --log-filter="logName:activity"

    Notas:

    • Para crear un receptor a nivel de la organización, reemplaza --folder=[FOLDER_ID] por --organization=[ORGANIZATION_ID]. Para una cuenta de facturación, reemplázalo por --billing-account=[BILLING_ACCOUNT_ID].

    • Para que el receptor incluya todos los proyectos dentro de la organización, se debe establecer la marca --include-children, incluso cuando la marca --organizationse pasa a create. Cuando se establece como false (la opción predeterminada), un receptor solo enruta los registros del recurso de host.

    • Para que el superior cree el receptor, necesitas la función de IAM de escritor de configuración de registros. Para obtener más información sobre las funciones de IAM de Logging, consulta la Guía de control de acceso.

    • Si quieres ver algunos ejemplos de filtros útiles, ve a los ejemplos de la herramienta de línea de comandos de gcloud para Crea receptores.

  2. Recupera el nombre de la cuenta de servicio usado para crear el receptor del resultado del comando.

  3. 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.

    A fin de obtener más información sobre cómo otorgar permisos de cuentas de servicio para recursos, revisa los siguientes vínculos a tu destino del receptor:

Crea filtros para receptores agregados

Como cualquier receptor, tu receptor agregado posee un filtro que selecciona entradas de registro individuales. Para obtener más detalles sobre las consultas, ve a Lenguaje de consulta de Logging.

A continuación, se presentan algunos ejemplos de comparaciones de consultas que son útiles cuando se usa la función de receptores agregados. Algunos ejemplos usan la siguiente notación:

  • : es el operador de la substring. No sustituyas el operador =.
  • ... representa las comparaciones de filtros adicionales.
  • Las variables se indican con texto de color. Reemplázalos por valores válidos.

Selecciona la fuente de registros

Para enrutar registros de organizaciones, proyectos o carpetas específicas de Cloud, usa una de las siguientes comparaciones de ejemplo:

logName:"projects/PROJECT_ID/logs/" AND ... 
logName:("projects/PROJECT_A_ID/logs/" OR "projects/PROJECT_B_ID/logs/") AND ... 
logName:"folders/FOLDER_ID/logs/" AND ... 
logName:"organizations/ORGANIZATION_ID/logs/" AND ... 

Selecciona el recurso supervisado

Para enrutar registros de un solo recurso supervisado en un proyecto de Cloud, usa varias comparaciones para especificar el recurso de forma exacta:

logName:"projects/PROJECT_ID/logs" AND
resource.type=RESOURCE_TYPE AND
resource.labels.instance_id=INSTANCE_ID

Para obtener una lista de los tipos de recursos, ve a la página sobre tipos de recursos supervisados.

Selecciona una muestra de entradas de registro

Para enrutar una muestra aleatoria de entradas de registro, agrega la función integrada sample. Por ejemplo, para enrutar solo el diez por ciento de las entradas de registro que coinciden con tu filtro actual, usa esta adición:

sample(insertId, 0.10) AND ...

Para obtener más información, revisa la función sample.

Para obtener más información sobre los filtros de Cloud Logging, ve a lenguaje de consultas de Logging.

Precios

No se aplican cargos por el registro de enrutamiento, pero es posible que se apliquen cargos de destino. Para obtener más información, revisa la página de precios del producto correspondiente: