Resumen
Para usar Cloud Cost Management en Datadog, siga estos pasos:
- Configure la Integración de Google Cloud Platform
- Configure la exportación de costos de uso detallados con los permisos necesarios (Google Service APIs, acceso al proyecto de exportación y acceso al conjunto de datos de BigQuery)
- Cree o seleccione un bucket de Google Cloud Storage con los permisos necesarios (acceso al bucket)
Configuración
Puede configurar usando la API, Terraform, o directamente en Datadog siguiendo las instrucciones a continuación.
Navegue a Setup & Configuration, agregue una cuenta de Google Cloud Platform y siga los pasos para configurar la integración de Google Cloud Platform.
La integración de Google Cloud Platform de Datadog permite que Cloud Cost realice el seguimiento automático de todos los proyectos a los que esta cuenta de servicio tiene acceso.
Para limitar los hosts de monitoreo de infraestructura para estos proyectos, aplique etiquetas a los hosts. Luego defina si las etiquetas deben ser incluidas o excluidas del monitoreo en la sección Limit Metric Collection Filters de la página de integración.
Habilite la exportación detallada de costos de uso
Los datos de
costos de uso detallados proporcionan toda la información incluida en los datos estándar de costos de uso, junto con campos adicionales que ofrecen datos de costos a nivel de recurso.
- Navegar a Exportación de Facturación en la consola de Google Cloud Facturación.
- Habilitar la exportación de Costo de Uso Detallado (seleccionar o crear un proyecto y un conjunto de datos de BigQuery).
- Documente el Billing Account ID para la cuenta de facturación donde se configuró la exportación, así como la exportación Project ID y Dataset Name.
Los conjuntos de datos de exportación de facturación de BigQuery recién creados solo contienen los dos meses más recientes de datos. Puede tardar uno o dos días en que estos datos se completen en BigQuery.
Habilitar las API de Servicios de Google
Los siguientes permisos permiten a Datadog acceder y transferir la exportación de facturación al bucket de almacenamiento utilizando una consulta programada de BigQuery.
Habilitar la API de BigQuery.
- En la consola de Google Cloud, vaya a la página de selección de proyecto y seleccione su proyecto de Google Cloud.
- Habilite la facturación en su proyecto para todas las transferencias.
Habilite el Servicio de Transferencia de Datos de BigQuery.
- Abra la página de la API de Transferencia de Datos de BigQuery en la biblioteca de API.
- En el menú desplegable, seleccione el proyecto que contiene la cuenta de servicio.
- Haga clic en el botón ENABLE.
Nota: La API de Transferencia de Datos de BigQuery debe habilitarse en el proyecto de Google que contiene la cuenta de servicio.
Defina detalles de configuración
Ingrese los siguientes detalles para su configuración:
Bucket de almacenamiento de GCP: Seleccione Sí para crear un bucket de almacenamiento, o seleccione No para usar un bucket existente.
Nota: Si utiliza un bucket existente, verifique que el bucket esté ubicado junto con el conjunto de datos de exportación de BigQuery.
Nombre del bucket: El nombre de su nuevo bucket de almacenamiento de GCP o de uno existente.
Región: La región de GCP de su bucket. Por ejemplo, northamerica-northeast1.
ID de cuenta de facturación: El ID de la cuenta de facturación que reporta los costos de su exportación de uso.
Nombre e ID del proyecto de exportación: El nombre y el ID de su proyecto de exportación.
Nombre e ID del conjunto de datos de exportación: El nombre y el ID de su conjunto de datos de exportación.
Crear exportación de costos y habilitar APIs de Google Service
Complete los pasos de Habilitar exportación de costos de uso detallado y Habilitar APIs de Google Service anteriores, luego regrese a CCM.
En la interfaz de usuario de configuración de Terraform de CCM, siga las instrucciones en el paso Aplicar configuración de Terraform. 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.
Agregue la cuenta de servicio como un principal en el recurso del proyecto del conjunto de datos de exportación:
- Navegue a la página de IAM en la consola de Google Cloud y seleccione el proyecto del conjunto de datos de exportación.
- Seleccione la cuenta de servicio como un principal.
- Seleccione un rol con los siguientes permisos para otorgar desde la lista desplegable:
bigquery.jobs.createbigquery.transfers.getbigquery.transfers.update
Nota: Esto puede ser un rol personalizado, o puede usar el rol existente de Google Cloud roles/bigquery.admin.
Agregue la cuenta de servicio como un principal en el recurso del conjunto de datos de exportación de BigQuery:
- En el panel del explorador en la página de BigQuery, expanda su proyecto y seleccione el conjunto de datos de exportación de BigQuery.
- Haz clic en Sharing > Permissions y luego en add principal.
- En el nuevo campo de principales, ingrese la cuenta de servicio.
- Usando la lista de selección de roles, asigne un rol con los siguientes permisos:
bigquery.datasets.getbigquery.tables.createbigquery.tables.deletebigquery.tables.exportbigquery.tables.getbigquery.tables.getDatabigquery.tables.listbigquery.tables.updatebigquery.tables.updateData
Nota: Esto puede ser un rol personalizado, o puede usar el rol existente de Google Cloud roles/bigquery.dataEditor.
Agregue la cuenta de servicio como un principal en el recurso del bucket de GCS:
- Navegue a la página de Buckets de Cloud Storage en la consola de Google Cloud y seleccione su bucket.
- Seleccione la pestaña de permisos y haga clic en el botón grant access.
- En el nuevo campo de principales, ingrese la cuenta de servicio.
- Asigne un rol con los siguientes permisos:
storage.buckets.getstorage.objects.createstorage.objects.deletestorage.objects.getstorage.objects.list
Nota: Esto puede ser un rol personalizado, o puedes usar los roles existentes de Google Cloud roles/storage.legacyObjectReader y roles/storage.legacyBucketWriter.
Cree o seleccione un bucket de Google Cloud Storage
Cloud Cost Management utiliza un bucket de GCP para recibir datos extraídos de su conjunto de datos de costos de uso detallado de BigQuery (prefijado con datadog_cloud_cost_detailed_usage_export). Puedes crear un nuevo bucket o usar uno existente.
Nota: El bucket debe estar co-localizado con el conjunto de datos de exportación de BigQuery.
Si su Cuenta de Servicio integrada existe en un proyecto diferente de Google Cloud Platform que su conjunto de datos de exportación de facturación, necesita otorgar autorización de cuenta de servicio entre proyectos:
Active la creación del agente de servicio siguiendo la documentación oficial utilizando los siguientes valores:
PUNTO DE CONEXIÓN: bigquerydatatransfer.googleapis.com
TIPO DE RECURSO: project
ID DE RECURSO: proyecto del conjunto de datos de exportación
Esto crea un nuevo agente de servicio que se parece a service-<billing project number>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com.
Agregue el rol de Cuenta de Servicio del Servicio de Transferencia de Datos de BigQuery creado por el disparador como un principal en su cuenta de servicio
Asigne el rol roles/iam.serviceAccountTokenCreator.
Siga los pasos indicados en Setup & Configuration.
Nota: Los datos pueden tardar de 48 a 72 horas después de la configuración para estabilizarse en Datadog.
Obteniendo datos históricos
Los conjuntos de datos de exportación de facturación de BigQuery recién creados solo contienen los 2 meses más recientes de datos. Puede tardar uno o dos días en que estos datos se rellenen en BigQuery. Datadog ingiere automáticamente hasta 15 meses de datos históricos de costos disponibles una vez que aparecen en la tabla de BigQuery.
Google Cloud no proporciona un proceso para rellenar datos históricos adicionales, más allá de los 2 meses que se incluyen automáticamente cuando se crea por primera vez la exportación de BigQuery.
Tipos de costo
Puede visualizar sus datos ingeridos utilizando los siguientes tipos de costo:
| Tipo de Costo | Descripción |
|---|
gcp.cost.amortized | Costo total de los recursos asignados en el momento de uso durante un intervalo. Los costos incluyen créditos de promoción así como créditos de descuento por uso comprometido. |
gcp.cost.amortized.shared.resources.allocated | Todos sus costos amortizados de Google Cloud Platform, con desgloses e información adicional para cargas de trabajo en contenedores. Requiere Asignación de Costos de Contenedores. |
gcp.cost.ondemand | Costo total público y bajo demanda de los recursos antes de que se apliquen los descuentos públicos y privados durante un intervalo. |
Datadog enriquece automáticamente sus datos de costos de Google Cloud con etiquetas de múltiples fuentes. Para una visión general completa de cómo se aplican las etiquetas a los datos de costos, consulte Etiquetas.
Las siguientes etiquetas predeterminadas se derivan de su informe detallado de costos de uso y facilitan el descubrimiento y la comprensión de los datos de costos:
| Nombre de la etiqueta | Descripción de la etiqueta |
|---|
google_product | El servicio de Google que se está facturando. |
google_cost_type | El tipo de cargo cubierto por este ítem (por ejemplo, regular, impuesto, ajuste o error de redondeo). |
google_usage_type | Los detalles de uso del ítem (por ejemplo, Almacenamiento Estándar EE. UU.). |
google_location | La ubicación asociada con el ítem a nivel de multi-región, país, región o zona. |
google_region | La región asociada con el ítem. |
google_zone | La zona de disponibilidad asociada con el ítem. |
google_pricing_usage_unit | La unidad de precio utilizada para calcular el costo de uso (por ejemplo, gibibyte, tebibyte o año). |
google_is_unused_reservation | Si el uso fue reservado pero no utilizado. |
service_description | El servicio de Google Cloud (como Compute Engine o BigQuery). |
project_id | El ID del proyecto de Google Cloud que generó los datos de facturación en la nube. |
project_name | El nombre del proyecto de Google Cloud que generó los datos de facturación en la nube. |
cost_type | El tipo de costo que representa este ítem: regular, tax, adjustment o rounding error. |
sku_description | Una descripción del tipo de recurso utilizado, que detalla el uso del recurso. |
resource_name | Un nombre que los clientes añaden a los recursos. Esto puede no estar en todos los recursos. |
global_resource_name | Un identificador de recurso globalmente único generado por Google Cloud. |
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 impactan los costos, identificar por qué cambian los costos y optimizar la infraestructura tanto para costos como para rendimiento. Datadog actualiza las etiquetas identificativas de recursos en los datos de costos para los principales productos de Google para simplificar la correlación entre métricas de observabilidad y costos.
Por ejemplo, para ver el costo y la utilización de cada base de datos de Cloud SQL, puede crear una tabla con gcp.cost.amortized, gcp.cloudsql.database.cpu.utilization y gcp.cloudsql.database.memory.utilization (o cualquier otra métrica de Cloud SQL) y agrupar por database_id. O, para ver el uso y los costos de Cloud Functions lado a lado, puede graficar gcp.cloudfunctions.function.execution_count y gcp.cost.amortized agrupados por function_name.
Las siguientes etiquetas listas para usar están disponibles:
| Producto de Google | Etiqueta(s) |
|---|
| Compute Engine | instance_id, instance-type |
| Cloud Functions | function_name |
| Cloud Run | job_name, service_name |
| Cloud SQL | database_id |
| Cloud Spanner | instance_id |
| App Engine | module_id |
| BigQuery | project_id, dataset_id |
| Kubernetes Engine | cluster_name |
Asignación de contenedores
Las métricas de asignación de contenedores contienen todos los mismos costos que las métricas de Google Cloud Platform, pero con desgloses e información adicional para cargas de trabajo de contenedores. Consulte Asignación de Costos de Contenedores para más detalles.
Lectura adicional
Más enlaces, artículos y documentación útiles: