Archives de journaux

Aperçu

Configurez votre compte Datadog pour transférer tous les journaux ingérés—qu’ils soient indexés ou non—vers un système de stockage cloud de votre choix. Conservez vos journaux dans une archive optimisée pour le stockage pendant de plus longues périodes, et respectez les exigences de conformité tout en garantissant l’auditabilité pour des enquêtes ad hoc, avec Rehydration ou Archive Search.

Onglet Archives sur la page de transfert de journaux

Naviguez vers la page Archivage et transfert de journaux pour configurer une archive pour transférer les journaux ingérés vers votre propre bucket de stockage hébergé dans le cloud.

  1. Si ce n’est pas déjà fait, configurez une intégration Datadog pour votre fournisseur cloud.
  2. Créez un bucket de stockage.
  3. Définissez permissions sur read et/ou write pour cette archive.
  4. Dirigez vos journaux vers et depuis cette archive.
  5. Configurez les paramètres avancés tels que le chiffrement, la classe de stockage et les étiquettes.
  6. Validez votre configuration et vérifiez les éventuelles erreurs de configuration que Datadog pourrait détecter pour vous.

Voir comment archiver vos journaux avec les pipelines d’observabilité si vous souhaitez diriger vos journaux vers une archive optimisée pour le stockage directement depuis votre environnement.

Les métriques suivantes rapportent sur les journaux qui ont été archivés avec succès, y compris les journaux qui ont été envoyés avec succès après des tentatives de réessai.

  • datadog.archives.logs.bytes
  • datadog.archives.logs.count

Configurer une archive

Configurer une intégration

Si ce n’est pas déjà fait, configurez l’intégration AWS pour le compte AWS associé à votre compartiment S3.

  • Dans le cas général, cela implique de créer un rôle que Datadog peut utiliser pour s’intégrer avec AWS S3.
  • Spécifiquement pour les comptes AWS en Chine, utilisez des clés d’accès comme alternative à la délégation de rôle.

Configurez l’intégration Azure dans l’abonnement qui contient votre nouveau compte de stockage, si ce n’est pas déjà fait. Cela implique de créer un enregistrement d’application que Datadog peut utiliser pour s’intégrer.

Remarque : L’archivage vers Azure ChinaCloud et Azure GermanyCloud n’est pas pris en charge. L’archivage vers Azure GovCloud est pris en charge en version Preview. Pour demander l’accès, contactez le support Datadog.

Configurez l’intégration Google Cloud pour le projet qui contient votre bucket de stockage GCS, si ce n’est pas déjà fait. Cela implique de créer un compte de service Google Cloud que Datadog peut utiliser pour s’intégrer.

Créez un bucket de stockage

L'envoi de journaux vers une archive est en dehors de l'environnement GovCloud de Datadog, qui est hors du contrôle de Datadog. Datadog ne sera pas responsable des journaux qui ont quitté l'environnement GovCloud de Datadog, y compris, sans limitation, toute obligation ou exigence que l'utilisateur pourrait avoir liée à FedRAMP, aux niveaux d'impact DoD, à l'ITAR, à la conformité à l'exportation, à la résidence des données ou à des réglementations similaires applicables à ces journaux.

Accédez à votre console AWS et créez un compartiment S3 vers lequel vos archives seront envoyées.

Les archives Datadog ne prennent pas en charge les noms de bucket contenant des points (.) lorsqu'elles sont intégrées à un point de terminaison S3 FIPS qui repose sur un adressage de style virtuel-hôte. En savoir plus dans la documentation AWS. AWS FIPS et AWS Virtual Hosting.

Remarque :

  • Ne rendez pas votre bucket lisible par le public.
  • Pour les sites US1, US3 et US5, consultez les tarifs AWS pour les frais de transfert de données inter-régions et comment les coûts de stockage cloud peuvent être impactés. Envisagez de créer votre bucket de stockage dans us-east-1 pour gérer vos frais de transfert de données inter-régions.
  • Allez sur votre Portail Azure et créez un compte de stockage pour envoyer vos archives. Donnez un nom à votre compte de stockage, sélectionnez soit une performance standard ou un type de compte Block blobs premium, et choisissez le niveau d’accès hot ou cool.
  • Créez un service de conteneur dans ce compte de stockage. Prenez note du nom du conteneur car vous devrez l’ajouter dans la page d’archive Datadog.

Remarque : Ne définissez pas de politiques d’immuabilité car les dernières données doivent être réécrites dans certains cas rares (typiquement un délai d’attente).

Allez sur votre compte Google Cloud et créez un bucket GCS pour envoyer vos archives. Sous Choisissez comment contrôler l’accès aux objets, sélectionnez Définir les autorisations au niveau des objets et des buckets.

Remarque : Ne ajoutez pas de politique de conservation car les dernières données doivent être réécrites dans certains cas rares (typiquement un délai d’attente).

Définissez les autorisations

Seuls les utilisateurs de Datadog ayant la logs_write_archive permission peuvent créer, modifier ou supprimer des configurations d’archive de journaux.

  1. Créez une politique avec les déclarations de permission suivantes :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "DatadogUploadAndRehydrateLogArchives",
          "Effect": "Allow",
          "Action": ["s3:PutObject", "s3:GetObject"],
          "Resource": [
            "arn:aws:s3:::<MY_BUCKET_NAME_1_/_MY_OPTIONAL_BUCKET_PATH_1>/*",
            "arn:aws:s3:::<MY_BUCKET_NAME_2_/_MY_OPTIONAL_BUCKET_PATH_2>/*"
          ]
        },
        {
          "Sid": "DatadogRehydrateLogArchivesListBucket",
          "Effect": "Allow",
          "Action": "s3:ListBucket",
          "Resource": [
            "arn:aws:s3:::<MY_BUCKET_NAME_1>",
            "arn:aws:s3:::<MY_BUCKET_NAME_2>"
          ]
        }
      ]
    }
    
    • The GetObject and ListBucket permissions allow for rehydrating from archives.
    • The PutObject permission is sufficient for uploading archives.
    • Ensure that the resource value under the s3:PutObject and s3:GetObject actions ends with /* because these permissions are applied to objects within the buckets.
  2. Modifiez les noms des buckets.

  3. Optionnellement, spécifiez les chemins qui contiennent vos archives de journaux.

  4. Attachez la nouvelle politique au rôle d’intégration Datadog.

    • Naviguez vers Rôles dans la console AWS IAM.
    • Localisez le rôle utilisé par l’intégration Datadog. Par défaut, il est nommé DatadogIntegrationRole, mais le nom peut varier si votre organisation l’a renommé. Cliquez sur le nom du rôle pour ouvrir la page de résumé du rôle.
    • Cliquez sur Ajouter des autorisations, puis Attacher des politiques.
    • Entrez le nom de la politique créée ci-dessus.
    • Cliquez sur Attacher des politiques.
  1. Accordez à l’application Datadog l’autorisation d’écrire et de réhydrater à partir de votre compte de stockage.
  2. Sélectionnez votre compte de stockage depuis la page des Comptes de Stockage, allez à Contrôle d’Accès (IAM), et sélectionnez Ajouter -> Ajouter une Attribution de Rôle.
  3. Saisissez le Rôle appelé Contributeur de Données de Blob de Stockage, sélectionnez l’application Datadog que vous avez créée pour l’intégration avec Azure, et enregistrez.
Ajoutez le rôle de Contributeur de Données de Blob de Stockage à votre application Datadog.
  1. Accordez à votre compte de service Google Cloud Datadog les autorisations d’écrire vos archives dans votre bucket.

  2. Sélectionnez votre principal de compte de service Google Cloud Datadog depuis la page d’administration IAM de Google Cloud et sélectionnez Modifier le principal.

  3. Cliquez sur AJOUTER UN AUTRE RÔLE, sélectionnez le rôle Administrateur d’Objet de Stockage, et enregistrez.

    Ajoutez le rôle d'Administrateur d'Objet de Stockage à votre Compte de Service Google Cloud Datadog.

Le rôle Administrateur d’Objet de Stockage est la configuration recommandée par Datadog. Si votre organisation nécessite un rôle personnalisé avec le principe du moindre privilège, les autorisations individuelles suivantes sont requises pour les téléchargements d’archives :

  • storage.objects.create
  • storage.objects.get
  • storage.objects.list
  • storage.objects.delete

storage.objects.delete est requis pour prendre en charge les nouvelles tentatives d’écriture d’archives, où Datadog écrase un objet existant dans le bucket. Les autorisations de téléchargement multipart (storage.multipartUploads.*) ne sont pas requises.

Dirigez vos journaux vers un bucket

Naviguez vers la page d’Archivage et de Transfert des Journaux et sélectionnez Ajouter une nouvelle archive dans l’onglet Archives.

Remarques :

  • Seuls les utilisateurs de Datadog ayant la logs_write_archive permission peuvent compléter cette étape et la suivante.
  • L’archivage des journaux vers Azure Blob Storage nécessite un enregistrement d’application. Voir les instructions sur la page d’intégration Azure, et définissez le “site” sur le côté droit de la page de documentation sur “US.” Les Enregistrements d’Application créés uniquement à des fins d’archivage n’ont besoin que du rôle “Contributeur de Données de Blob de Stockage”. Si votre bucket de stockage se trouve dans une souscription surveillée via une Ressource Datadog, un avertissement s’affiche concernant la redondance de l’Enregistrement d’Application. Vous pouvez ignorer cet avertissement.
  • Si votre bucket restreint l’accès réseau à des adresses IP spécifiées, ajoutez les IP de webhook indiquées. IP ranges list à la liste d’autorisation.
  • Pour les sites US1-FED et US2-FED, vous pouvez configurer Datadog pour envoyer des journaux à une destination en dehors de l’environnement Datadog GovCloud. Datadog n’est pas responsable des journaux qui quittent l’environnement Datadog GovCloud. De plus, Datadog n’est pas responsable des obligations ou exigences que vous pourriez avoir concernant FedRAMP, les niveaux d’impact DoD, ITAR, la conformité à l’exportation, la résidence des données ou des réglementations similaires applicables à ces journaux après leur sortie de l’environnement GovCloud.
ServiceÉtapes
Amazon S3- Sélectionnez la combinaison de compte et de rôle AWS appropriée pour votre S3 bucket.
- Saisissez le nom de votre S3 bucket.
Optionnel : Saisissez un préfixe de répertoire pour l’ensemble du contenu de vos archives de journaux.
Azure Storage- Sélectionnez le type d’archive Azure Storage, et le locataire et le client Azure pour l’application Datadog qui a le rôle de contributeur de données de blob de stockage sur votre compte de stockage.
- Saisissez le nom de votre compte de stockage et le nom du conteneur pour votre archive.
Optionnel : Saisissez un préfixe de répertoire pour tout le contenu de vos archives de journaux.
Google Cloud Storage- Sélectionnez le type d’archive Google Cloud Storage, et le compte de service GCS qui possède les permissions d’écriture sur votre bucket de stockage.
- Saisissez le nom de votre bucket.
Optionnel : Saisissez un préfixe de répertoire pour l’ensemble du contenu de vos archives de journaux.

Paramètres avancés

Paramètres avancés pour ajouter des tags optionnels et définir la taille maximale de scan

Tags Datadog

Cette étape de configuration facultative vise à :

  • Inclure tous les tags de journaux dans vos archives (activé par défaut sur toutes les nouvelles archives). Remarque : Cela augmente la taille des archives résultantes.
  • Ajouter des tags sur les journaux réhydratés selon votre politique de requêtes de restriction. Voir la permission logs_read_data.

Définir la taille maximale de scan

Cette étape de configuration facultative vous permet de définir le volume maximal de données de log (en Go) à analyser pour la réintégration de vos archives de logs.

Pour les archives avec une taille maximale de scan définie, tous les utilisateurs doivent estimer la taille de scan avant d’être autorisés à commencer une réhydratation. Si la taille de scan estimée est supérieure à ce qui est autorisé pour cette archive, les utilisateurs doivent réduire la plage de temps pour laquelle ils demandent la réhydratation. Réduire la plage de temps réduira la taille du scan et permettra à l’utilisateur de commencer une réhydratation.

Attribut de partition d’archive (Aperçu)

Pour optimiser la façon dont vos journaux archivés sont physiquement organisés dans le stockage (et accélérer Recherche d’archive), configurez les attributs de partition dans votre archive Datadog.

  • Attributs de partition : Ajoutez des attributs à faible cardinalité tels que service, source, env ou status que vous utilisez fréquemment comme filtres de recherche.
  • Avantage : Les journaux partageant les mêmes valeurs d’attribut de partition sont co-localisés dans le stockage. Lors de la recherche, Datadog peut ignorer des partitions entières qui ne correspondent pas à votre requête, réduisant ainsi considérablement le volume de données analysées.

Attribut de recherche d’archive

Pour accélérer les recherches et les enquêtes dans vos archives (avec Recherche d’archive), configurez des attributs de recherche dans votre archive Datadog.

  • Attributs de recherche : Ajoutez des attributs à haute cardinalité tels que trace_id, container_id ou customer_id.
  • Avantage : Cela vous permet de localiser des journaux spécifiques dans votre stockage à long terme beaucoup plus rapidement, réduisant ainsi le temps et les données analysées lors d’enquêtes ad hoc.

Attributs de partition vs. attributs de recherche

PartitionRecherche
CardinalitéFaible (dizaines à centaines de valeurs)Élevée (millions de valeurs)
Attributs typiquesservice, source, env, statustrace_id, container_id, user_id, transaction_id
Comment cela aide: Élimine des partitions entières de l’analyseet permet d’identifier rapidement les entrées de journal individuelles dans votre archive
Idéal pour: Le filtrage large par environnement ou serviceet pour les enquêtes ad hoc sur des identifiants spécifiques

Pour des performances de recherche maximales, combinez les deux : les attributs de partition réduisent la portée de recherche aux segments de données pertinents, tandis que les attributs de recherche vous permettent de trouver instantanément des journaux spécifiques dans ces segments.

Règles de pare-feu

Les règles de pare-feu ne sont pas prises en charge.

Compression

Par défaut, Datadog archive les journaux en utilisant zstd (compression Zstandard) (.json.zst), qui offre de meilleurs ratios de compression et des vitesses de décompression plus rapides par rapport à gzip. Vous pouvez également configurer la compression gzip (.json.gz).

Pour configurer la compression, sélectionnez Type de compression lors de la création ou de la modification d’une archive sur la page d’archivage et de transfert de journaux :

  • zstd (par défaut) : Meilleur ratio de compression et vitesse de décompression. Recommandé pour les nouvelles archives, surtout si vous prévoyez d’utiliser Archive Search.
  • gzip : Largement supporté et compatible avec la plupart des outils.

Remarque : Changer le format de compression d’une archive existante n’affecte que les nouveaux fichiers d’archive. Les fichiers déjà stockés dans votre bucket restent dans leur format d’origine.

Classe de stockage

Vous pouvez soit sélectionner une classe de stockage pour votre archive, soit définir une configuration de cycle de vie sur votre bucket S3 pour faire passer automatiquement vos archives de journaux aux classes de stockage optimales.

La fonctionnalité de réintégration de logs prend uniquement en charge les classes de stockage suivantes :

Si vous souhaitez réintégrer des logs à partir d’archives dans une autre classe de stockage, vous devez au préalable les déplacer vers l’une des classes de stockage prises en charge, comme indiqué ci-dessus.

Les fonctionnalités d’archivage et de réintégration de logs prennent uniquement en charge les niveaux d’accès suivants :

  • Niveau d’accès chaud
  • Niveau d’accès frais

Si vous souhaitez réintégrer des logs à partir d’archives dans un niveau d’accès, vous devez au préalable les déplacer vers l’un des niveaux d’accès pris en charge, comme indiqué ci-dessus.

L’archivage et la réhydratation prennent en charge les niveaux d’accès suivants :

  • Standard
  • Nearline
  • Coldline
  • Archive

Chiffrement côté serveur (SSE) pour les archives S3

Lors de la création ou de la mise à jour d’une archive S3 dans Datadog, vous pouvez configurer optionnellement Chiffrement avancé. Trois options sont disponibles dans le menu déroulant Type de Chiffrement :

  • Chiffrement par défaut au niveau du bucket S3 (Par défaut) : Datadog ne remplace pas les paramètres de chiffrement par défaut de votre bucket S3.
  • Clés gérées par Amazon S3 : Force le chiffrement côté serveur en utilisant des clés gérées par Amazon S3 (SSE-S3), indépendamment du chiffrement par défaut du bucket S3.
  • Service de gestion des clés AWS : Force le chiffrement côté serveur en utilisant une clé gérée par le client (CMK) de AWS KMS, indépendamment du chiffrement par défaut du bucket S3. Vous devrez fournir l’ARN du CMK.

Lorsque cette option est sélectionnée, Datadog ne spécifie aucun en-tête de chiffrement dans la demande de téléchargement. Le chiffrement par défaut de votre bucket S3 s’appliquera.

Pour définir ou vérifier la configuration de chiffrement de votre bucket S3 :

  1. Accédez à votre bucket S3.
  2. Cliquez sur l’onglet Propriétés.
  3. Dans la section Chiffrement par défaut, configurez ou confirmez le type de chiffrement. Si votre chiffrement utilise AWS KMS, assurez-vous que vous avez un CMK valide et une politique CMK attachée à votre CMK.

Cette option garantit que tous les objets d’archives sont téléchargés avec SSE_S3, en utilisant des clés gérées par Amazon S3. Cela remplace tout paramètre de chiffrement par défaut sur le bucket S3.

Cette option garantit que tous les objets d’archives sont téléchargés en utilisant une clé gérée par le client (CMK) de AWS KMS. Cela remplace tout paramètre de chiffrement par défaut sur le bucket S3.

Assurez-vous d’avoir complété les étapes suivantes pour créer une CMK valide et une politique de CMK. Ensuite, fournissez l’ARN de la CMK pour configurer avec succès ce type de chiffrement.

  1. Créez votre CMK.
  2. Attachez une politique de CMK à votre CMK avec le contenu suivant, en remplaçant le numéro de compte AWS et le nom du rôle IAM Datadog de manière appropriée :
{
    "Id": "key-consolepolicy-3",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<MY_AWS_ACCOUNT_NUMBER>:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<MY_AWS_ACCOUNT_NUMBER>:role/<MY_DATADOG_IAM_ROLE_NAME>"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow attachment of persistent resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<MY_AWS_ACCOUNT_NUMBER>:role/<MY_DATADOG_IAM_ROLE_NAME>"
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": "true"
                }
            }
        }
    ]
}
  1. Après avoir sélectionné AWS Key Management Service comme votre Type de Chiffrement dans Datadog, saisissez l’ARN de votre clé AWS KMS.

Validation

Une fois que vos paramètres d’archive sont correctement configurés dans votre compte Datadog, vos pipelines de traitement commencent à enrichir tous les journaux ingérés dans Datadog. Ces journaux sont ensuite transférés vers votre archive.

Cependant, après avoir créé ou mis à jour vos configurations d’archive, il peut s’écouler plusieurs minutes avant que le prochain téléversement d’archive ne soit tenté. La fréquence à laquelle les archives sont téléversées peut varier. Vérifiez votre bucket de stockage dans 15 minutes pour vous assurer que les archives sont correctement téléversées depuis votre compte Datadog.

Après cela, si l’archive est toujours dans un état en attente, vérifiez vos filtres d’inclusion pour vous assurer que la requête est valide et correspond aux événements de journal dans Live Tail. Lorsque Datadog ne parvient pas à téléverser des journaux vers une archive externe, en raison de modifications involontaires des paramètres ou des autorisations, l’archive de journaux correspondante est mise en évidence sur la page de configuration.

Vérifiez que vos archives sont correctement configurées

Survolez l’archive pour voir les détails de l’erreur et les actions à entreprendre pour résoudre le problème. Un événement est également généré dans l’Explorateur d’Événements. Vous pouvez créer un moniteur pour ces événements afin de détecter et de remédier rapidement aux échecs.

Plusieurs archives

Si vous avez défini plusieurs archives, les logs intègrent la première archive, en fonction du filtre appliqué.

Les logs sont envoyées dans la première archive filtrée à laquelle ils correspondent.

Il est important de classer vos archives avec soin. Par exemple, si vous créez une première archive filtrée par le tag env:prod et une seconde archive sans aucun filtre (l’équivalent de *), tous vos journaux de production iraient dans le même bucket de stockage ou chemin, et le reste irait dans l’autre.

Format des archives

Les archives de journaux que Datadog transfère vers votre bucket de stockage sont au format JSON compressé. Selon votre configuration de compression, les fichiers d’archive utilisent soit la compression zstd (.json.zst, par défaut) soit la compression gzip (.json.gz). En utilisant le préfixe que vous indiquez (ou / s’il n’y en a pas), les archives sont stockées dans une structure de répertoire qui indique à quelle date et à quelle heure les fichiers d’archive ont été générés, comme suit :

/my/bucket/prefix/dt=20180515/hour=14/archive_143201.1234.02aafad5-f525-4592-905e-e962d1a5b2f7.json.gz
/my/bucket/prefix/dt=<YYYYMMDD>/hour=<HH>/archive_<HHmmss.SSSS>.<UUID>.json.gz

Cette structure de répertoire vous permet de retrouver plus facilement vos archives de logs en fonction de leur date.

Lectures complémentaires


*Logging without Limits est une marque déposée de Datadog, Inc.