Storage Monitoring para Amazon S3, Google Cloud Storage y Azure Blob Storage proporciona análisis profundos a nivel de prefijo para ayudarte a comprender exactamente cómo se está utilizando tu almacenamiento. Detecta posibles problemas antes de que afecten a las operaciones y te ayuda a tomar decisiones basadas en datos sobre la optimización del almacenamiento. Utiliza esta información para rastrear el crecimiento del almacenamiento, investigar los patrones de acceso y optimizar los costos.
En esta guía se explica cómo configurar la Storage Monitoring en Datadog para tus buckets de Amazon S3, Google Cloud Storage y cuentas de almacenamiento de Azure. Para acceder a tus datos de Storage Monitoring ve a Infraestructura > Storage Monitoring.
Selecciona tu servicio de almacenamiento en la nube para acceder a las instrucciones de configuración.
Configuración para Amazon S3
La forma más rápida de configurar la Storage Monitoring es a través de la page (página) Añadir buckets en Datadog, donde puedes configurar varios buckets de S3 al mismo tiempo.
Ve a Datadog > Infraestructura > Storage Monitoring.
Habilita la integración con Amazon S3 y la recopilación de recursos para todas las cuentas de AWS que desees monitorizar.
Permite que Datadog lea desde tus buckets de destino. Añade los siguientes permisos al rol de integración IAM Datadog para la cuenta propietaria de los buckets de destino:
s3:GetObject
s3:ListBucket
Aplica estos permisos de sólo lectura únicamente a los buckets de destino que contengan tus archivos de inventario de S3.
Permite que los buckets source (fuente) escriban en los buckets de destino. Los buckets de destino deben incluir una política que permita a los buckets source (fuente) escribir datos de inventario. Consulta Creación de una política de buckets de destino en la documentación de AWS para obtener más detalles.
Selecciona los buckets de S3 que desees monitorizar con Storage Monitoring. Puedes seleccionar buckets de varias cuentas de AWS a la vez.
Asigna un bucket de destino por región para almacenar los informes de inventario de S3 de los buckets source (fuente). Puede ser un bucket de AWS existente o uno nuevo.
Bucket source (fuente): El bucket de S3 que deseas monitorizar con Storage Monitoring.
Bucket de destino: Se utiliza para almacenar informes de inventario (uno por región AWS, se puede reutilizar)
Completa la configuración. El proceso de generación de inventario se iniciará en AWS en las 24 horas siguientes al primer informe.
Vuelve a Infraestructura > Storage Monitoring para ver aparecer tus buckets.
También puedes configurar Storage Monitoring utilizando las plantillas de CloudFormation proporcionadas. Este proceso consta de dos pasos:
Paso 1: Configurar la generación de inventarios
Esta plantilla configura tu bucket de S3 existente para generar informes de inventario, que Datadog utiliza para generar métricas detalladas sobre tus prefijos de bucket.
En AWS CloudFormation, haz clic en Crear stack tecnológico en la esquina superior derecha y selecciona Con recursos existentes (importar recursos).
En el paso Especificar plantilla, selecciona Cargar un archivo de plantilla.
Haz clic en Seleccionar archivo y selecciona el archivo source-bucket-inventory-cfn.yaml, a continuación, haz clic en Siguiente.
Introduce el nombre del bucket para el que deseas que AWS empiece a generar inventarios y haz clic en Siguiente.
Completa los parámetros necesarios:
DestinationBucketName: el bucket para almacenar los archivos de inventario. Nota: Sólo debes utilizar un bucket de destino para todos los archivos de inventario generados en una cuenta de AWS.
DestinationBucketName: el bucket que deseas monitorizar y para el que deseas empezar a generar archivos de inventario.
Parámetros opcionales:
SourceBucketPrefix: (opcional) limita la monitorización a una ruta específica en el bucket de origen.
DestinationBucketPrefix: ruta específica dentro del bucket de destino. Asegúrate de que esta ruta no incluya barras finales (/).
Haz clic en Siguiente.
Espera a que AWS localice tu bucket de origen y haz clic en Importar recursos en la esquina inferior derecha.
Nota: Esta plantilla de CloudFormation se puede revertir, pero la reversión no elimina los recursos creados. Esto es para asegurar que el bucket existente no se elimina. Puedes eliminar manualmente las configuraciones de inventario yendo a la pestaña Management (Gestión) en la vista del bucket.
Nota: Revisa los precios de Amazon S3 para conocer los costes relacionados con la generación de inventario.
Paso 2: Configurar permisos necesarios
Esta plantilla crea dos políticas de IAM:
Una política para permitir que Datadog lea los archivos de inventario del bucket de destino.
Una política para permitir que tu bucket source (fuente) escriba archivos de inventario en el bucket de destino.
En AWS CloudFormation, haz clic en Crear stack tecnológico en la esquina superior derecha y selecciona Con nuevos recursos (estándar).
En el paso Especificar plantilla, selecciona Cargar archivo de plantilla.
Haz clic en Seleccionar archivo y selecciona el archivo cloud-inventory-policies-cfn.yaml, a continuación, haz clic en Siguiente.
Completa los parámetros necesarios:
DatadogIntegrationRole: tu nombre de rol de la integración de Datadog y AWS
DestinationBucketName: el nombre del bucket que recibe los archivos de inventario. Nota: Sólo debes utilizar un bucket de destino para todos los archivos de inventario generados en una cuenta de AWS.
SourceBucketName: el nombre del bucket para el que deseas empezar a generar archivos de inventario
Parámetros opcionales:
SourceBucketPrefix: este parámetro limita la generación de inventario a un prefijo específico en el bucket source (fuente)
DestinationBucketPrefix: si deseas reutilizar un bucket existente como destino, este parámetro permite que los archivos de inventario se envíen a un prefijo específico de ese bucket. Asegúrate de que los prefijos no incluyan barras finales (/).
En el paso Revisar y crear, comprueba que los parámetros se hayan introducido correctamente y haz clic en Enviar.
Nombre del bucket de destino que contiene los archivos de inventario.
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).
Región de AWS del bucket de destino que contiene los archivos de inventario.
ID de la cuenta de AWS que contiene los buckets.
ID de la organización de Datadog.
Puedes utilizar el recurso Terraform aws_s3_bucket_inventory para configurar Storage Monitoring
En el siguiente ejemplo se muestra cómo habilitar el inventario diario en un bucket de S3 para la monitorización de Datadog. Para utilizar este ejemplo:
Sustituye <MY_MONITORED_BUCKET> por el nombre del bucket que desees monitorizar.
Sustituye <MY_INVENTORY_DESTINATION> por el nombre del bucket que recibe tus archivos de inventario.
Sustituye <DESTINATION_ACCOUNT_ID> por el ID de la cuenta de AWS a la que pertenece el bucket de destino.
El bucket de destino puede ser tu bucket source (fuente), pero por seguridad y separación lógica, muchas organizaciones utilizan un bucket separado.
La sección optional_fields se recomienda para las métricas de prefijo Datadog.
Pasos posteriores a la instalación
Una vez que la configuración del inventario esté configurada y tus archivos de inventario empiecen a aparecer en el bucket de destino, completa este formulario para proporcionar los detalles de tu configuración de S3. Esto permite a Datadog empezar a generar métricas de prefijo para tu almacenamiento.
Utiliza módulos para configuraciones complejas
Si necesitas gestionar varios buckets, políticas de inventario complejas, cifrado o configuraciones entre cuentas, puedes utilizar el módulo terraform-aws-s3-bucket.
Solucionar problemas
Los archivos del Inventario de S3 se entregan diariamente y pueden tardar hasta 24 horas en aparecer después de la configuración.
Asegúrate de que los permisos de IAM permitan a S3 escribir archivos de inventario en tu bucket de destino.
Si es necesario el acceso entre cuentas, confirma que el prefijo de destino del inventario (datadog-inventory/ en el ejemplo) sea correcto y accesible para Datadog.
Para configurar manualmente el Inventario de Amazon S3 necesario y la configuración relacionada, sigue estos pasos:
Paso 1: Crear un bucket de destino
Crea un bucket S3 para almacenar tus archivos de inventario. Este bucket funciona como la localización central para los informes de inventario. Nota: Solo debes utilizar un bucket de destino para todos los archivos de inventario generados en una cuenta de AWS.
Crear un prefijo en el bucket de destino (opcional).
Paso 2: Configurar el bucket y las políticas de rol de la integración
Sigue los pasos indicados en la Guía del usuario de Amazon S3 para añadir una política de bucket a tu bucket de destino que permita el acceso de escritura (s3:PutObject) desde tus buckets source (fuente).
Asegúrate de que el rol de la integración de Datadog y AWS tenga permisos s3:GetObject y s3:ListObjects en el bucket de destino. Estos permisos permiten a Datadog leer los archivos de inventario generados.
(Opcional) Especifica un prefijo de bucket source (fuente)
Versiones de objetos: Datadog recomienda seleccionar Sólo versiones actuales.
Destino: selecciona el bucket de destino común para los archivos de inventario de tu cuenta de AWS. Por ejemplo, si el bucket se llama destination-bucket, introduce s3://your-destination-bucketNota: Si deseas utilizar un prefijo en el bucket de destino, añade esto también
Frecuencia: Datadog recomienda elegir Diaria. Esta opción determina la frecuencia con la que se actualizan las métricas de prefijo en Datadog
Formato de salida: CSV
Estado: Activado
Cifrado del lado del servidor: no especifiques una clave de cifrado
Selecciona los siguientes Campos de metadatos adicionales:
Tamaño
Última modificación
Clase de almacenamiento
Nota: Revisa los precios de Amazon S3 para conocer los costes relacionados con la generación de inventario.
Espera a que se genere el primer informe de inventario (hasta 24 horas para inventarios diarios)
Comprueba el bucket de destino para los archivos de inventario
Confirma que la integración de Datadog pueda acceder a los archivos:
Ve a Infraestructura -> Storage Monitoring -> Recomendaciones de instalación para ver si el bucket que has configurado aparece en la lista
Solucionar problemas
Si tienes algún problema o necesitas ayuda:
Asegúrate de utilizar un único bucket de destino para todos los archivos de inventario por cuenta de AWS
Verifica que todos los permisos estén correctamente configurados
Si sigues teniendo problemas, ponte en contacto con los datos de tu bucket, el ID de cuenta de AWS y el ID de organización de Datadog.
Configuración para Google Cloud Storage
El proceso consta de los siguientes pasos:
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 project (proyecto) de Google Cloud, instala la integración de Google Cloud en Datadog. Habilita la recopilación de recursos para el project (proyecto) que contiene los buckets que deseas monitorizar. La recopilación de recursos permite a Datadog asociar las etiquetas de tus buckets con las métricas recopiladas a través de la monitorizació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)
Paso 4: Crear una configuración de informe de inventario
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
Copia la siguiente plantilla de Terraform, sustituye los argumentos necesarios y aplícala en el project (proyecto) de Google Cloud que contiene tu bucket.
Terraform configuration for inventory reports
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.locationfrequency_options {
frequency=local.frequencystart_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.insightsCollectorService
roles/storage.ObjectViewer
Ve al bucket de destino y concede estos permisos:
roles/storage.objectCreator
roles/storage.insightsCollectorService
Alternativamente, puedes crear un rol personalizado específicamente para Datadog con estos permisos necesarios:
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
ID de la organización de 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).
Check el bucket de destino para buscar los archivos de inventario
Confirma que la integración de Datadog pueda acceder a los archivos
Ve a Infraestructura -> Storage Monitoring -> 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 project (proyecto) de Google Cloud
Verifica que todos los permisos estén correctamente configurados
Si el problema persiste, ponte en contacto con los datos de tu bucket, el ID del project (proyecto) de Google Cloud y el ID de la organización de Datadog.
Configuración para Azure Blob Storage
Habilita los inventarios para las cuentas de almacenamiento seleccionadas en cada suscripción ejecutando la siguiente secuencia de scripts en tu Azure Cloud Shell:
Antes de ejecutar el script, configura tu entorno shell en Bash y sustituye las distintas entradas de marcador de posición por los valores correctos:
<CLIENT_ID>: El ID del cliente de un registro de aplicación ya configurado mediante la integración de Datadog Azure
<SUBSCRIPTION_ID>: El ID de la suscripción de Azure que contiene las cuentas de almacenamiento
<COMMA_SEPARATED_STORAGE_ACCOUNT_NAMES>: Una lista separada por comas de las cuentas de almacenamiento que deseas monitorizar (por ejemplo, storageaccount1,storageaccount2)
Para cada cuenta de almacenamiento que desees monitorizar, sigue todos los pasos que se indican a continuación:
Crear una política de inventario de blobs
En el portal de Azure, ve a tu cuenta de almacenamiento.
Ve a Gestión de datos > Inventario de blobs.
Haz clic en Add (Añadir).
Configura la política:
Nombre: datadog-storage-monitoring
Contenedor de destino:
Haz clic en Crear nuevo e introduce el nombre datadog-storage-monitoring.
Tipo de objeto a inventariar: Blob
Schedule (horario): Diario
Tipos de blobs: Selecciona Block blobs, Append blobs y Page blobs.
Subtipos: Selecciona Incluir versiones de blobs
Campos de esquema: Selecciona Todos o asegúrate de que al menos los siguientes están seleccionados:
Nombre
Nivel de acceso
Última modificación
Longitud del contenido
Servidor cifrado
Estado de la versión actual
ID de la versión
Prefijo de exclusión: datadog-storage-monitoring
Haz clic en Add (Añadir).
Añadir la asignación de roles
En el portal de Azure, ve a tu cuenta de almacenamiento.
Ve a Almacenamiento de datos > Contenedores.
Haz clic en el contenedor datadog-storage-monitoring.
Haz clic en Control de acceso (IAM) en el menú de la izquierda.
Haz clic en Añadir > Añadir asignación de roles.
Completa la asignación de roles:
Rol: Selecciona Lector de Datos de Blob de Almacenamiento. Haz clic en Siguiente.
Asignar acceso a: Usuario, grupo o entidad de servicio.
Miembros: Haz clic en + Seleccionar miembros y busca tu Registro de aplicación por su nombre y selecciónalo.
Nota: Esto debería ser un Registro de aplicación configurado en la integración de Azure de Datadog. Recuerda el ID del cliente para más adelante.