Para usar Azure Cloud Cost Management en Datadog, debe configurar la integración de Datadog Azure y crear exportaciones de Costo amortizado y Costo real en Azure. Además, Datadog debe tener permisos para leer las exportaciones del contenedor.
Datadog proporciona visibilidad de costos a nivel de suscripción, grupo de recursos y cuenta de facturación. Los acuerdos de cliente de Microsoft (MCA) se pueden configurar en los tres contextos. Para determinar su tipo de cuenta, consulte la documentación de Azure.
Cuentas de pago por uso (PAYG)
Datadog Cloud Cost Management requiere exportaciones de Costo real y Costo amortizado desde Azure. Las suscripciones PAYG (Microsoft Online Services Program) generalmente solo proporcionan exportaciones de Detalles de uso (solo uso), por lo que no se pueden configurar para CCM. Para conocer los tipos de exportación disponibles para cada tipo de cuenta de Azure, consulte la documentación de exportaciones de Cost Management de Microsoft.
Si su suscripción es PAYG, considere una de las siguientes opciones:
Migre a un Contrato de cliente de Microsoft (MCA) o un Contrato Enterprise (EA), los cuales admiten los tipos de exportación requeridos.
Comuníquese con el soporte de Microsoft Azure para confirmar los tipos de exportación disponibles para su suscripción.
Para obtener ayuda con la configuración de Datadog CCM o para discutir opciones, comuníquese con el soporte de Datadog.
Configuración
Puede realizar la configuración mediante la API, Terraform o directamente en Datadog siguiendo las instrucciones a continuación.
Nota: Si está utilizando el sitio US3 de Datadog, es posible que haya configurado la integración nativa de Datadog Azure mediante el método de recursos de Datadog a través de Azure Portal. Para admitir Cloud Cost Management, debe crear un registro de aplicación.
Configure la integración de Azure
Navegue a Setup & Configuration, agregue una cuenta de Azure y siga los pasos para configurar la integración de Azure.
Seleccione el tipo de contexto
Use el menú desplegable para seleccionar el tipo de contexto para su cuenta. CCM admite los tipos de contexto de cuenta de facturación, suscripción y grupo de recursos.
Seleccione los recursos a crear
La configuración de Terraform admite tres configuraciones según sus recursos de Azure existentes:
Nueva configuración: Seleccione Create storage account and container para crear una cuenta de almacenamiento, un contenedor y exportaciones de costos.
Cuenta de almacenamiento y contenedor existentes: Deseleccione Create storage account and container y seleccione Create cost exports para usar el almacenamiento existente pero crear nuevas exportaciones de costos.
Cuenta de almacenamiento, contenedor y exportaciones de costos existentes: Deseleccione ambas opciones para usar el almacenamiento y las exportaciones de costos existentes.
Configure el contexto y los detalles de exportación
Ingrese los siguientes detalles para su configuración:
Billing account or Subscription ID: Dependiendo del contexto seleccionado en el paso 1, el ID de cuenta de facturación o el ID de suscripción correspondiente.
Resource group name: El nombre de su grupo de recursos existente en el contexto seleccionado. Se requiere un grupo de recursos preexistente para la configuración de Terraform.
Location: La ubicación de Azure de su grupo de recursos. Por ejemplo, East US 2.
Storage account and container name: Dependiendo de los recursos que haya seleccionado crear, los nombres de su cuenta de almacenamiento y contenedor nuevos o preexistentes.
Actual cost export name and path: El nombre y la ruta de su exportación de costos reales.
Amortized cost export name and path: El nombre y la ruta de su exportación de costos amortizados.
Nota: Los siguientes formatos de prefijo no son compatibles: vacío, que comience con / (como / o /cost), o que termine con / (como cost/). Los prefijos que contienen / en el medio son compatibles (como cost/hourly).
Copie el HCL de Terraform del recurso de Azure generado y aplique los cambios
Después de completar los campos en el Paso 2, el Paso 3 habilita y muestra el HCL de Terraform generado. Siga las instrucciones para configurar sus archivos de configuración de Terraform con este código. Resuelva cualquier problema que aparezca al ejecutar terraform plan o terraform apply antes de regresar a CCM para configurar las exportaciones de costos.
Acceda a la consola de Azure para configurar las exportaciones
Abra el enlace de la consola de Azure para localizar sus exportaciones de costos. Si es necesario, cambie el contexto actual al correcto para sus exportaciones. Para ambas exportaciones, la real y la amortizada, selecciónelas y haga clic en Edit para activar la partición de archivos si aún no está habilitada.
Guarde los cambios de la partición de archivos y haga clic en Run Now. Regrese a CCM una vez que ambas ejecuciones de exportación se hayan realizado correctamente.
Copie el HCL de Datadog generado y aplique los cambios
Siga las instrucciones en el paso Apply Datadog Terraform HCL. Resuelva cualquier problema que aparezca al ejecutar terraform plan o terraform apply antes de regresar a CCM para confirmar la creación de la cuenta.
Genere exportaciones de costos
Debe generar exportaciones para dos tipos de datos: real y amortizado. Datadog recomienda usar el mismo contenedor de almacenamiento para ambas exportaciones.
Navegue a [Cost Management | Configuration][5] en Tools > Cost Management > Settings > Configuration del portal de Azure y haga clic en Exports.
Seleccione el contexto de exportación ubicado junto al filtro de búsqueda.
Nota: El contexto debe ser billing account, subscription o resource group.
Después de seleccionar el contexto, haga clic en Schedule export.
Seleccione la plantilla Cost and usage (actual + amortized)
Haga clic en Edit en cada exportación y confirme los siguientes detalles:
Ingrese un “Prefijo de exportación” para las nuevas exportaciones. Por ejemplo, ingrese datadog para evitar conflictos con exportaciones existentes.
En la pestaña Destination, seleccione los siguientes detalles:
Elija Azure blob storage como tipo de almacenamiento.
Elija una cuenta de almacenamiento, un contenedor y un directorio para las exportaciones.
Nota: No utilice caracteres especiales como . en estos campos.
Nota: Las exportaciones de facturación pueden almacenarse en cualquier suscripción. Si está creando exportaciones para varias suscripciones, Datadog recomienda almacenarlas en la misma cuenta de almacenamiento. Los nombres de las exportaciones deben ser únicos.
Elija CSV o Parquet como formato.
Elija el tipo de compresión. Para CSV: se admiten Gzip y None. Para Parquet: se admiten Snappy y None.
Asegúrese de que File partitioning esté marcado.
Asegúrese de que Overwrite data no esté marcado.
Nota: Datadog no admite la configuración Overwrite data. Si la configuración estaba marcada anteriormente, asegúrese de limpiar los archivos en el directorio o moverlos a otro.
En la pestaña Review + create, seleccione Create.
Genere los primeros exports manualmente haciendo clic en Run Now. Espere a que se complete correctamente antes de continuar.
Proporcione a Datadog acceso a sus exports
Otorgue a Datadog acceso de lectura a la cuenta de almacenamiento donde se guardan sus exports.
Cuentas de facturación
En la pestaña Exports, haga clic en la cuenta de almacenamiento de la exportación para navegar a ella.
Haga clic en la pestaña Containers.
Elija el contenedor en el que se encuentran sus facturas.
Seleccione la pestaña Access Control (IAM) y haga clic en Add.
Elija Add role assignment.
Elija Storage Blob Data Reader, luego haga clic en Next.
Asigne estos permisos a uno de los registros de la aplicación que haya conectado con Datadog.
Haga clic en Select members, seleccione el nombre del registro de la aplicación y haga clic en Select. Nota: Si no ve su registro de la aplicación en la lista, comience a escribir el nombre para que la interfaz se actualice y lo muestre, si está disponible.
Seleccione Review + assign.
Si sus exports están en diferentes contenedores de almacenamiento, repita los pasos del uno al siete para el otro contenedor de almacenamiento.
Suscripciones y grupos de recursos
En la pestaña Exports, haga clic en la cuenta de almacenamiento de la exportación para navegar a ella.
Haga clic en la pestaña Containers.
Elija el contenedor en el que se encuentran sus facturas.
Seleccione la pestaña Access Control (IAM) y haga clic en Add.
Elija Add role assignment.
Elija Storage Blob Data Reader, luego haga clic en Next.
Asigne estos permisos a uno de los registros de la aplicación que haya conectado con Datadog.
Haga clic en Select members, seleccione el nombre del registro de la aplicación y haga clic en Select.
Seleccione Review + assign.
Si sus exports están en diferentes contenedores de almacenamiento, repita los pasos del uno al siete para el otro contenedor de almacenamiento.
Configure el acceso de lector de Cloud Cost Management
Nota: No necesita configurar este acceso si su contexto es Billing Account.
Vaya a sus suscripciones y haga clic en el nombre de su suscripción.
Seleccione la pestaña Access Control (IAM).
Haga clic en Add, luego en Add role assignment.
Elija Cost Management Reader, luego haga clic en Next.
Asigne estos permisos al registro de la aplicación.
Esto ayuda a garantizar una precisión total de los costos al permitir cálculos de costos periódicos en Microsoft Cost Management.
Nota: Los datos pueden tardar entre 48 y 72 horas después de la configuración en estabilizarse en Datadog.
Nota: Si tiene los permisos adecuados en el registro de la aplicación pero su red está bloqueando las IP de webhook de Datadog, es posible que encuentre errores que parecen estar relacionados con los permisos.
Para resolver esto, agregue las IP de webhook de Datadog a su lista de permitidos de red visitando la sección Webhooks en https://ip-ranges..
Azure no migra automáticamente las definiciones de exports de costos de un Contrato Enterprise (EA) a un Contrato de Cliente de Microsoft (MCA). Para obtener más información, consulte la documentación de incorporación de MCA de Microsoft.
El siguiente proceso conserva los datos históricos de EA para las configuraciones de Datadog que utilizan un contexto de cuenta de facturación, suscripción o grupo de recursos.
Registre la siguiente configuración para los exports de EA tanto reales como amortizados:
Nombre del export, incluyendo mayúsculas y minúsculas
Cuenta de almacenamiento
Contenedor
Directorio de almacenamiento y prefijo del export
Versión del conjunto de datos, formato y tipo de compresión
Después de que se ejecuten los exports finales del período de EA, deshabilite los exports programados de EA, pero mantenga sus definiciones. No permita que los exports programados de EA y MCA escriban en el mismo destino al mismo tiempo.
Deje la configuración de Azure Cloud Cost Management en Datadog habilitada y sin cambios. Para un contexto de cuenta de facturación, Datadog conserva el ID de EA.
Después de que el MCA se vuelva activo, vuelva a crear los exports reales y amortizados en el contexto de MCA correspondiente utilizando Terraform o el portal de Azure. Utilice los nombres del export, la cuenta de almacenamiento, el contenedor, el directorio y el prefijo registrados de los exports de EA.
Para Terraform, siga el flujo de configuración de Terraform a través de los pasos de HCL de recursos de Azure. No aplique nuevo HCL de Datadog ni reemplace la configuración existente de Cloud Cost Management.
Datadog continúa leyendo los archivos históricos de EA desde el destino existente y agrega datos de MCA al mismo historial de costos.
No complete fechas de EA desde un contexto de MCA
Un export de MCA no incluye costos del EA anterior. Ejecutar un export de MCA único para un rango de fechas de EA puede escribir un manifiesto vacío más reciente en el destino compartido. Datadog lee el export más reciente de cada mes, por lo que el manifiesto vacío puede poner en cero los datos de EA que se ingirieron anteriormente.
Para completar datos después de una migración de EA a MCA, utilice el acuerdo que cubrió las fechas solicitadas:
Para fechas anteriores a la fecha de vigencia de MCA, ejecute los exports únicos reales y amortizados desde el contexto de EA anterior.
Para fechas en o después de la fecha de vigencia de MCA, ejecute las exportaciones únicas reales y amortizadas desde el contexto de MCA.
Si el contexto de EA anterior no está disponible, comuníquese con el Soporte de Microsoft para solicitar los exports históricos. Si cambió un nombre o destino de export, o eliminó y volvió a crear la configuración de Datadog, comuníquese con Soporte de Datadog. No cree exports adicionales únicos o programados hasta que el Soporte de Datadog revise la configuración.
Obtención de datos históricos
Azure exporta datos de costos a partir del mes en que creó el export. Datadog ingiere automáticamente hasta 15 meses de datos de costos históricos disponibles de estos exports. Puede rellenar manualmente hasta 12 meses de datos de costos de Azure utilizando la interfaz de usuario de Azure Cost Exports.
Nota: Si migró de un EA a un MCA, siga las instrucciones de migración antes de ejecutar un export histórico.
Complete las instrucciones en las secciones Configuración y Configurar Cloud Cost en Datadog anteriores.
Espere hasta 24 horas para que los datos de costos aparezcan en Datadog y asegúrese de que la integración funcione de principio a fin antes de comenzar el proceso de backfill. Nota: Si ya completó la configuración y los datos de costos aparecen en Datadog, puede proceder directamente a los pasos de backfill a continuación.
Exporte manualmente un informe real y amortizado para cada mes calendario. Por ejemplo, para junio de 2025:
Editar el export
Cambie el tipo de export a One-time export
Establezca From en 06-01-2025 Nota: Este debe ser el primer día del mes.
Establezca End en 06-30-2025 Nota: Este debe ser el último día del mes.
Guarde el export Nota: Esto ejecuta el export automáticamente
Espere a que el export termine de ejecutarse
Revierta tanto los exports reales como los amortizados a su estado original para reanudar los exports diarios:
Editar el export
Cambie el tipo de export a Daily export of month-to-date costs
Guarde el export
Datadog descubre e ingiere automáticamente estos datos, y deberían aparecer en Datadog en un plazo de 24 horas.
También puede crear datos históricos en su cuenta de almacenamiento utilizando el Microsoft API o creando un ticket de soporte con Microsoft. Asegúrese de que la estructura de archivos y la partición sigan el formato de las exportaciones programadas.
Tipos de costo
Puede visualizar sus datos ingeridos utilizando los siguientes tipos de costo:
Tipo de costo
Descripción
azure.cost.amortized
Costo basado en las tasas de descuento aplicadas más la distribución de los pagos anticipados a lo largo del uso durante el plazo del descuento (base de devengo).
azure.cost.actual
Costo mostrado como el monto cobrado en el momento del uso (base de efectivo). Los costos reales incluyen descuentos privados, así como descuentos de instancias reservadas y planes de ahorro como tipos de cargo separados.
azure.cost.discounted.ondemand
Costo basado en la tarifa de lista proporcionada por Azure, después de los descuentos negociados de forma privada. Para obtener el costo real bajo demanda, divida esta métrica por (1 - <negotiated_discount>). Por ejemplo, si tiene un descuento de tarifa plana del 5% en todos los productos de Azure, tomar esta métrica y dividirla por .95 (1-.05) proporciona el precio real bajo demanda.
Etiquetas predeterminadas
Datadog enriquece automáticamente sus datos de costos de Azure con etiquetas de múltiples fuentes. Para obtener una descripción general completa de cómo se aplican las etiquetas a los datos de costos, consulte Tags.
Las siguientes etiquetas predeterminadas se derivan de su informe de costos de uso y facilitan la detección y comprensión de los datos de costos:
Nombre de la etiqueta
Descripción de la etiqueta
accountname
El nombre de la cuenta asociada con la partida.
accountownerid
El ID del propietario asociado con la partida.
billingaccountid
El ID de la cuenta de facturación asociada con la partida.
billingaccountname
El nombre de la cuenta de facturación asociada con la partida.
billingcurrency
La moneda asociada con la cuenta de facturación.
billingperiod
El período de facturación del cargo.
billingperiodenddate
La fecha de finalización del período de facturación.
billingperiodstartdate
La fecha de inicio del período de facturación.
billingprofileid
El identificador único de la inscripción del Contrato Enterprise.
billingprofilename
El nombre de la inscripción del Contrato Enterprise.
chargetype
El tipo de cargo que cubre la partida: Usage, Purchase o Refund.
consumedservice
El nombre del servicio con el que está asociada la partida.
costcenter
El centro de costos definido para la suscripción para el seguimiento de costos.
costinbillingcurrency
El costo en la moneda de facturación antes de créditos o impuestos.
costinpricingcurrency
El costo en la moneda de precios antes de créditos o impuestos.
currency
La moneda asociada con la cuenta de facturación.
date
La fecha de uso o compra del cargo.
effectiveprice
El precio unitario combinado para el período. Los precios combinados promedian cualquier fluctuación en el precio unitario, como la escala gradual, que reduce el precio a medida que aumenta la cantidad.
exchangeratedate
La fecha en la que se estableció el tipo de cambio.
exchangeratepricingtobilling
El tipo de cambio utilizado para convertir el costo en la moneda de precios a la moneda de facturación.
frequency
Indica si se espera que un cargo se repita. Los cargos pueden ocurrir una vez (OneTime), repetirse de forma mensual o anual (Recurring), o basarse en el uso (Usage)
InvoiceId
El ID de documento único que aparece en el PDF de la factura.
invoicesectionid
El ID de la sección de factura de MCA.
invoicesectionname
El nombre del departamento del Contrato Enterprise (EA).
isazurecrediteligible
true si el cargo es elegible para pagarse mediante créditos de Azure.
location
La ubicación del centro de datos donde se ejecuta el recurso.
metercategory
El servicio de nivel superior al que pertenece este uso (como Networking).
meterid
El ID único del medidor.
metername
Los detalles de uso de la partida (como L8s v2 o General Purpose Data Stored).
meterregion
La ubicación del centro de datos para los servicios con precios basados en la ubicación (como West US 2). Use resourcelocation para ver los datos de ubicación sin N/A.
metersubcategory
El nombre de la categoría de subclasificación del medidor (como General Purpose - Storage). Use metername o metercategory para ver la clasificación de nivel superior sin N/A.
offerid
El nombre de la oferta adquirida.
partnumber
El ID utilizado para obtener precios específicos del medidor.
planname
El nombre del plan de marketplace si se adquirió a través de marketplace.
PreviousInvoiceId
Referencia a una factura original si esta partida es un reembolso.
PricingCurrency
La moneda utilizada al realizar la valoración basada en precios negociados.
pricingmodel
El tipo de uso (como Reservation).
ProductId
El identificador de un producto de Azure específico.
productname
El nombre del producto de Azure a un nivel granular, como el tipo de VM o disco y la región.
productorderid
El ID del pedido de producto. Use productname para ver información de productos de nivel superior sin N/A.
productordername
El nombre del pedido de producto. Use productname para ver información de productos de nivel superior sin N/A.
publishername
El editor de servicios de marketplace.
publishertype
El tipo de editor: Microsoft para cuentas de Contrato de cliente de Microsoft y Azure para cuentas de Contrato Enterprise.
reservationid
El ID de la instancia de reserva comprada. Si ve valores N/A, estos son recursos OnDemand, que se pueden verificar mediante la etiqueta pricingmodel.
reservationname
El nombre de la instancia de reserva comprada. Si ve valores N/A, estos son recursos OnDemand, que se pueden verificar mediante la etiqueta pricingmodel.
resourcegroup
El nombre del grupo de recursos en el que se encuentra el recurso. No todos los cargos provienen de recursos implementados en grupos de recursos.
resourceid
El ID del recurso de Azure.
resourcelocation
La ubicación del centro de datos donde se ejecuta el recurso (como westus2).
resourcename
El nombre del recurso. No todos los cargos provienen de recursos implementados.
resourcetype
El tipo de recurso de Azure.
servicefamily
La familia de servicios a la que pertenece el servicio (como Compute). La etiqueta consumedservice tiene información más detallada sobre los tipos de infraestructura.
ServicePeriodEndDate
La fecha de finalización del período de servicio de Azure.
ServicePeriodStartDate
La fecha de inicio del período de servicio de Azure.
subscriptionid
El ID de la suscripción de Azure.
subscriptionname
El nombre de la suscripción de Azure.
term
Describe la duración o el plazo del Plan de ahorro en meses (como 12).
unitofmeasure
La unidad de medida para la facturación del servicio. Por ejemplo, los servicios de cómputo se facturan por hora.
Correlación de costos y observabilidad
Ver los costos en el contexto de los datos de observabilidad es importante para entender cómo los cambios en la infraestructura afectan los costos, identificar por qué cambian los costos y optimizar la infraestructura tanto para los costos como para el rendimiento. Datadog agrega la etiqueta name en los datos de costos para los principales productos de Azure a fin de simplificar la correlación de las métricas de observabilidad y costos.
Por ejemplo, para ver el costo y la utilización de cada VM de Azure, puede crear una tabla con azure.cost.amortized y azure.vm.network_in_total (o cualquier otra métrica de VM) y agrupar por name. O, para ver el uso y los costos de almacenamiento lado a lado, puede filtrar por metercategory:Storage y graficar azure.storage.transactions y azure.cost.amortized agrupados por name.
Lecturas adicionales
Documentación, enlaces y artículos útiles adicionales: