Gestión del almacenamiento de Google Cloud Storage
Join the Preview!
La Gestión del almacenamiento está en vista previa. Solicita acceso para empezar a monitorizar tu almacenamiento de objetos
Request AccessInstalación
Paso 1: Instalar la integración de Google Cloud y activar la recopilación de recursos
Para recopilar métricas de Google Cloud Storage desde tu proyecto de Google Cloud, instala la integración con Google Cloud en Datadog. Habilita la recopilación de recursos del proyecto que contiene los buckets que quieres monitorizar. La recopilación de recursos permite a Datadog asociar las etiquetas (labels) de tus buckets a las métricas recopiladas a través de la Gestión del almacenamiento.
Nota: Aunque puedes desactivar espacios de nombres de métricas específicos, mantén activado el espacio de nombres de almacenamiento en la nube (gcp.storage).
Paso 2: Activar la API Storage Insights
Habilita la API Storage Insights en tu project (proyecto) de Google Cloud.
Paso 3: Conceder permisos al agente de servicio
Tras habilitar la API Storage Insights, se crea automáticamente un agente de servicio de nivel project (proyecto) con el siguiente formato: service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com
El agente de servicio requiere estos roles IAM:
roles/storage.insightsCollectorService en el bucket source (fuente) (incluye los permisos storage.buckets.getObjectInsights y storage.buckets.get)roles/storage.objectCreator en el bucket de destino (incluye el permiso storage.objects.create)
Puedes crear una configuración de informe de inventario de varias maneras. Los métodos más rápidos utilizan las plantillas de Google Cloud CLI o de Terraform. Independientemente del método, asegúrate de que la configuración:
- Incluye estos campos de metadatos:
"bucket", "name", "project (proyecto)", "size", "updated", "storageClass" - Genera informes CSV con
'\n' como delimitador y ',' como separador. - Utiliza este formato de ruta de destino:
<BUCKET>/{{date}}, donde <BUCKET> es el nombre del bucket monitorizado
Utiliza la Google Cloud CLI para ejecutar el siguiente comando:
gcloud storage insights inventory-reports create <SOURCE_BUCKET_URL> \
--no-csv-header \
--display-name=datadog-storage-monitoring \
--destination=gs://<DESTINATION_BUCKET>/<SOURCE_BUCKET>/{{date}}> \
--metadata-fields=project,bucket,name,size,updated,storageClass \
--schedule-starts=<YYYY-MM-DD> \
--schedule-repeats=<DAILY|WEEKLY> \
--schedule-repeats-until=<YYYY-MM-DD>
Copia la siguiente plantilla de Terraform, sustituye los argumentos necesarios y aplícala en el project (proyecto) de Google Cloud que contiene tu bucket.
locals {
source_bucket = "" # The name of the bucket you want to monitor
destination_bucket = "" # The bucket where inventory reports are written
frequency = "" # Possible values: Daily, Weekly (report generation frequency)
location = "" # The location of your source and destination buckets
}
data "google_project" "project" {
}
resource "google_storage_insights_report_config" "config" {
display_name = "datadog-storage-monitoring"
location = local.location
frequency_options {
frequency = local.frequency
start_date {
day = "" # Fill in the day
month = "" # Fill in the month
year = "" # Fill in the year
}
end_date {
day = "" # Fill in the day
month = "" # Fill in the month
year = "" # Fill in the year
}
}
csv_options {
record_separator = "\n"
delimiter = ","
header_required = false
}
object_metadata_report_options {
metadata_fields = ["bucket", "name", "project", "size", "updated", "storageClass"]
storage_filters {
bucket = local.source_bucket
}
storage_destination_options {
bucket = google_storage_bucket.report_bucket.name
destination_path = "${local.source_bucket}/{{date}}"
}
}
depends_on = [
google_storage_bucket_iam_member.admin
]
}
resource "google_storage_bucket" "report_bucket" {
name = local.destination_bucket
location = local.location
force_destroy = true
uniform_bucket_level_access = true
}
resource "google_storage_bucket_iam_member" "admin" {
bucket = google_storage_bucket.report_bucket.name
role = "roles/storage.admin"
member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-storageinsights.iam.gserviceaccount.com"
}
Puedes permitir que Datadog gestione la configuración del informe de inventario proporcionando los permisos adecuados a tu cuenta de servicio:
- Ve a IAM & Admin -> Cuentas de servicio
- Busca tu cuenta de servicio Datadog y añade el rol
roles/storageinsights.Admin - Ve al bucket source (fuente) que desees monitorizar y concede estos permisos:
roles/storage.insightsCollectorServiceroles/storage.ObjectViewer
- Ve al bucket de destino y concede estos permisos:
roles/storage.objectCreatorroles/storage.insightsCollectorService
Alternativamente, puedes crear un rol personalizado específicamente para Datadog con estos permisos necesarios:
storage.buckets.get
storage.objects.list
storage.buckets.getObjectInsights
storage.buckets.get
storage.objects.create
storageinsights.reportConfigs.get
storageinsights.reportConfigs.create
storageinsights.reportConfigs.list
storageinsights.reportConfigs.update
storage.objects.get
storageinsights.reportDetails.get
storageinsights.reportDetails.list
Después de conceder los permisos necesarios, Datadog puede crear la configuración del informe de inventario con los detalles de tu configuración.
Paso 5: Añadir la función Visor de objetos de almacenamiento a tu cuenta de servicio de Datadog
Concede a Datadog permiso para acceder y extraer de Google los informes de inventario generados. Este permiso debe estar en el bucket de destino donde se almacenan los informes de inventario.
- Selecciona el bucket de destino para tus informes de inventario
- En la page (página) de los detalles del bucket, haz clic en la pestaña Permisos
- En Permisos, haz clic en Conceder acceso para añadir una nueva entidad de seguridad.
- Principal: Introduce el correo electrónico de la cuenta de servicio de Datadog
- Rol: Selecciona Visor de Objetos de Almacenamiento (
roles/storage.objectViewer)
Pasos posteriores a la instalación
Una vez finalizados los pasos de configuración, completa el formulario después de la configuración con la siguiente información necesaria:
- Nombre del bucket de destino que contiene los archivos de inventario
- Nombre de la cuenta de servicio con los permisos concedidos
- Prefijo donde se almacenan los archivos en el bucket de destino (si existe)
- Nombre del bucket source (fuente) que deseas monitorizar (el bucket que produce los archivos de inventario)
- Ubicación en Google Cloud del bucket de destino que contiene los archivos de inventario
- ID del project (proyecto) de Google Cloud que contiene los buckets
- Nombre de la organización Datadog
Validación
Para verificar tu configuración:
- Espera a que se genere el primer informe de inventario (hasta 24 horas para informes diarios o 7 días para informes semanales).
- Comprueba los archivos de inventario en el bucket de destino.
- Confirma que la integración con Datadog puede acceder a los archivos.
- Ve a Infrastructure > Storage Management > Installation Recommendations (Infraestructura > Gestión del almacenamiento > Recomendaciones de instalación) para ver si tu bucket configurado aparece en la lista.
Solucionar problemas
Si tienes algún problema o necesitas ayuda:
- Utiliza un único bucket de destino para todos los archivos de inventario por cada proyecto de Google Cloud.
- Comprueba que todos los permisos están correctamente configurados.
- Si el problema persiste, ponte en contacto con Datadog e indícanos los datos de tu bucket, el ID del proyecto de Google Cloud project y el nombre de la organización Datadog.