Consultez les guides de dépannage supplémentaires pour corriger certaines erreurs de base, comme les problèmes de code de fonction trop volumineux ou de webpack non compatible. Ce guide vise à diagnostiquer les problèmes globaux de collecte de données de télémétrie.

Comprendre les notions de base

Pour mieux comprendre les instructions présentées dans ce guide, familiarisez-vous d’abord avec les concepts clés. Lorsque vous comprendrez mieux le fonctionnement global de la plateforme, vous serez plus à même d’identifier les éléments manquants et de restreindre les causes probables à l’origine des problèmes.

Utiliser l’extension Lambda Datadog au lieu du Forwarder

Si vous utilisez encore la fonction Lambda du Forwarder Datadog pour la collecte de données, envisagez plutôt d’utiliser l’extension Lambda Datadog. En effet, les limites techniques de la fonction Lambda du Forwarder sont à l’origine de nombreux problèmes connus, qui peuvent être résolu automatiquement en migrant vers l’extension Lambda.

  • Si vous ne savez pas si votre Lambda utilise l’extension, consultez les configurations de couche de votre fonction Lambda et vérifiez si elles comportent une couche Lambda Datadog-Extension.

  • Si vous ne savez pas si votre fonction Lambda fait appel au Forwarder, accédez aux filtres d’abonnement du groupe de logs de votre fonction Lambda et vérifiez si une fonction Lambda Datadog Forwarder (ou avec un nom similaire) est abonné au groupe de logs.

Consultez ce guide comparatif pour découvrir les avantages de l’extension et ce guide sur la migration pour accéder aux étapes de migration. Testez d’abord vos modifications dans un environnement de type dev ou staging.

Si vous souhaitez continuer à utiliser le Forwarder, consultez ce guide de dépannage du Forwarder pour obtenir plus d’aide.

Vérifier que les configurations sont à jour et appropriées

Consultez les guides d’installation comportant les instructions à jour relatives aux applications que vous avez configurées auparavant pour la surveillance Datadog.

Pour vérifier que les modifications réellement apportées à vos fonctions Lambda sont appropriées, configurez une autre fonction de test en suivant les instructions pour l’interface de ligne de commande Datadog ou Custom. Comparez les modifications (par exemple, les gestionnaires, les couches, les variables d’environnement et les tags) apportées à vos fonctions Lambda réelles par rapport à la fonction de test.

Recueillir les logs de debugging

Pour activer les logs de debugging détaillés, définissez la variable d’environnement DD_LOG_LEVEL sur debug sur vos fonctions Lambda. Si vous utilisez la fonction Lambda du Forwarder Datadog pour transférer des données à partir de logs, définissez également DD_LOG_LEVEL sur debug sur la fonction Lambda du Forwarder.

Si vous avez des problèmes liés au tracing, définissez la variable d’environnement DD_TRACE_DEBUG sur true pour obtenir des logs de debugging supplémentaires du traceur Datadog.

Pour éviter des coûts inutiles, désactivez les logs de debugging après que vous avez recueilli suffisamment de données.

Vérifier l’intégration AWS

Datadog peut recueillir des métriques et des tags de ressource à partir d’AWS par l’intermédiaire d’une intégration AWS (facultatif). S’il vous manque des métriques CloudWatch ou encore des tags de ressource Lambda, vérifiez que l’intégration AWS est correctement configurée.

Vérifier que les tags sont configurés

Si vous ne parvenez pas à appliquer aux données recueillies les tags Datadog standard service, env et version, vérifiez que les variables d’environnement DD_SERVICE, DD_ENV et DD_VERSION sont configurées sur vos fonctions Lambda. Pour les tags personnalisés, vérifiez que la variable DD_TAGS est configurée.

Si vous souhaitez ajouter les tags de vos ressources AWS Lambda aux données recueillies afin de les enrichir, vérifiez que l’intégration Datadog pour AWS est correctement configurée.

Obtenir de l’aide

Si vous souhaitez obtenir des réponses à vos questions, rendez-vous sur le canal #serverless de la communauté Slack Datadog.

Si vous avez suivi toutes les étapes de dépannage ci-dessus et que vous souhaitez faire appel à l’assistance Datadog, utilisez l’une des méthodes suivantes pour envoyer informations de configuration pertinentes à l’équipe d’assistance.

  1. Créez un ticket Zendesk.

  2. Téléchargez la version la plus récente de l’interface de ligne de commande Datadog.

    npm install -g @datadog/datadog-ci
    
  3. Utilisez la commande Flare sans serveur à la racine du répertoire de votre projet pour recueillir et envoyer automatiquement à l’assistance Datadog des données relatives à votre fonction Lambda.

    datadog-ci lambda flare -f <function_arn> -e <email> -c <case_id> --with-logs
    
Pour en savoir plus sur le flare sans serveur, consultez la documentation relative à la commande associée command documentation.

Créez un ticket Zendesk et fournissez les informations suivantes :

  1. Informations de base concernant votre fonction Lambda : ARN, runtime, gestionnaire, couches, variables d’environnement et tags. Si vous avez le même problème avec plusieurs fonctions, concentrez-vous d’abord sur une fonction.
  2. Si la fonction Lambda est configurée pour envoyer des données par l’intermédiaire de logs à l’aide du Forwarder Datadog, ajoutez les informations de base concernant la fonction Lambda du Forwarder. Fournissez également les filtres d’abonnement configurés sur le groupe de logs de votre fonction Lambda.
  3. La méthode d’installation que vous avez utilisée, par exemple : Serverless Framework ou AWS CDK.
  4. La méthode d’installation que vous avez essayé d’appliquer, par exemple : Interface de ligne de commande Datadog ou Custom.
  5. Les logs de debugging provenant de votre propre fonction Lambda.
  6. Les logs de debugging provenant de la fonction Lambda du Forwarder Datadog (le cas échéant).
  7. Les fichiers de configuration de projet, avec les secrets codés en dur censurés, tels que serverless.yaml, package.json, package-lock.json, yarn.lock, tsconfig.json et webpack.config.json.

Pour aller plus loin

PREVIEWING: brett0000FF/node-compatibility