Utiliza esta guía para automatizar la configuración de reenvío de logs de Azure con una plantilla de Azure Resource Manager (ARM).
La plantilla ARM despliega recursos de una serie de servicios Azure (cuentas de almacenamiento y aplicaciones de función) en tus suscripciones, que recopilan y reenvían logs a Datadog. Los escalados de estos servicios aumentan o disminuyen automáticamente para adaptarse al volumen de logs. El escalado se gestiona mediante un plano de control, que es un conjunto de aplicaciones de función desplegadas en una suscripción y región de tu elección. Las cuentas de almacenamiento y las aplicaciones de función se despliegan en cada una de las suscripciones que reenvían logs a Datadog.
Todos los sitios: El reenvío automatizado de logs está disponible en todos los sitios Datadog.
Cómo elegir entre la configuración automática y la manual
Elige el método de configuración manual si lo deseas:
aplica etiquetas personalizadas a tus recursos
Utiliza el método de configuración automática si lo deseas:
automatiza el despliegue a través del portal de Azure
gestiona tu infraestructura mediante plantillas declarativas
control centralizado de accesos, etiquetas y facturación
redistribuye tus recursos en el orden correcto y de forma coherente
ahorra costes utilizando una cuenta de almacenamiento en lugar de un centro de eventos
Configuración
Comienza por abrir la plantilla Azure Log Forwarding ARM correspondiente a tu entorno de Azure, o haz clic en + Add Log Collection (+ Añadir recopilación de logs) en el cuadro de integración de Azure.
Las secciones siguientes ofrecen instrucciones para cumplimentar cada página de la plantilla.
Conceptos básicos
En Detalles del proyecto, selecciona el grupo de gestión. Esto es necesario para que la plantilla ARM conceda permisos a las suscripciones que seleccionas para el reenvío automatizado de logs.
En Detalles de la instancia, selecciona valores para:
Región. Aquí es donde se despliega el plano de control.
Suscripciones para el reenvío de logs. Son las suscripciones que deben configurarse para el reenvío de logs.
Suscripción del plano de control. Es la suscripción en la que se despliega el plano de control.
Nombre del grupo de recursos. Es el grupo de recursos que utilizará el plano de control. Es recomendado elegir un nuevo nombre de grupo de recursos no utilizado para simplificar la gestión de servicios del plano de control.
Haz clic en la casilla para confirmar que recibiste las advertencias del despliegue.
Haz clic en Review + create (Revisar + crear).
Revisar + crear
Revisa los detalles del despliegue finalizado.
Haz clic en Create (Crear).
Arquitectura
Servicios utilizados
Las aplicaciones Azure Function se utilizan para detectar recursos en tus suscripciones de Azure, escalar reenviadores de logs y configurar ajustes de diagnóstico en los recursos detectados.
Las Azure Container Apps se utilizan para recopilar logs de recursos generados por los parámetros de diagnóstico, realizar un seguimiento de los logs que ya se procesaron y enviarlos a Datadog.
Las cuentas de Azure Storage se utilizan para almacenar logs generados por tus recursos, así como una pequeña caché de metadatos como los ID de suscripciones, los ID de recursos y las regiones.
El plano de control es un conjunto de aplicaciones Azure Function y una cuenta de almacenamiento para caché. Un plano de control se despliega en la suscripción elegida y realiza las siguientes tareas:
Detección de recursos en las suscripciones elegidas que pueden generar logs a través de los parámetros de diagnóstico.
Configuración automática de los parámetros de diagnóstico en los recursos detectados para enviar logs a una cuenta de almacenamiento que los reenviadores de logs están rastreando.
Escalado de los reenviadores de logs en las regiones donde se encuentran tus recursos, lo que les permite adaptarse dinámicamente al volumen de logs.
Reenviadores de logs
Los reenviadores de logs consisten en un trabajo de Azure Container Apps y una cuenta de almacenamiento para logs. El plano de control los despliega en cada suscripción que selecciones para el reenvío de logs. El número de reenviadores de logs desplegados por suscripción varía en función del volumen de logs generado por tus recursos. Los reenviadores de logs realizan las siguientes tareas:
Almacenan temporalmente logs generados a partir de los parámetros de diagnóstico de tus recursos en una cuenta de almacenamiento.
Procesa los logs almacenados y los reenvía a Datadog.
En Azure, los parámetros de diagnóstico de un recurso solo pueden apuntar a cuentas de almacenamiento dentro de la misma región. Por lo tanto, los reenviadores se activan en cada región en la que existen recursos con parámetros de diagnóstico.
La plantilla de ARM concede al plano de control solo los permisos necesarios para gestionar los reenviadores y colocar parámetros de diagnóstico en tus recursos. Para esto, se crean grupos de recursos y se conceden permisos durante el despliegue de la plantilla de ARM. Después, puedes añadir permisos para más suscripciones volviendo a desplegar la plantilla de ARM.
Esto es necesario para detectar recursos con parámetros de diagnóstico disponibles y habilitar la salida de los logs al almacenamiento.
Rol de Colaborador a nivel de grupo de recursos, para los grupos de recursos de reenvío de logs de las suscripciones seleccionadas.
Esto es necesario para gestionar (crear y eliminar) cuentas de almacenamiento de reenviadores y trabajos de Container Apps.
Rol de Colaborador de sitio web a nivel de grupo de recursos del plano de control, para actualizar las aplicaciones de función del plano de control.
No se exporta ninguna información sobre tus recursos. Datadog solo solicita la información necesaria para habilitar la salida de logs, y el único resultado de esta arquitectura son los logs enviados a Datadog.
Nota: Opcionalmente, puedes habilitar el plano de control para que envíe sus propias métricas de estado, logs y eventos a Datadog con fines de depuración. Para ello, establece la variable de entorno DD_TELEMETRY=true en cualquier Function App o Container App del plano de control.
Log archiving
Archiving logs to Azure Blob Storage requires an App Registration. If you haven’t already, follow the automatic or manual setup instructions to configure the integration using an App Registration. App Registrations created for archiving purposes do not need the Monitoring Reader role.
After configuring an App Registration, create a log archive that writes to Azure Blob Storage.
Note: If your storage bucket is in a subscription being monitored through the Azure Native integration, a redundancy warning appears in the Azure integration tile. This warning can be safely ignored for log archiving.
Desinstalar
Comienza por abrir un Azure Cloud Shell y asegúrate de que se ejecuta en Azure CLI/Bash, no en PowerShell.
El script detecta primero cualquier instancia que se esté ejecutando en cada suscripción y, a continuación, te pide que selecciones la(s) instancia(s) que deseas desinstalar. Confirma la eliminación de los recursos y espera a que se eliminen.