CLI Serverless Datadog
Cette fonctionnalité est en version bêta ouverte. Si vous avez des questions ou des problèmes, faites-le-nous savoir en créant un
ticket dans notre référentiel.
Vous pouvez utiliser l’interface de ligne de commande pour instrumenter vos fonctions AWS Lambda avec Datadog. Seuls les runtimes Python Node.js sont actuellement pris en charge.
Avant de commencer
Exécutez la commande suivante pour faire en sorte que vos identifiants AWS AWS_ACCESS_KEY_ID
et AWS_SECRET_ACCESS_KEY
soient disponibles dans votre environnement, ou utilisez l’une des méthodes d’authentification prises en charge par le SDK AWS pour JS.
export AWS_ACCESS_KEY_ID="<ID CLÉ ACCÈS>"
export AWS_SECRET_ACCESS_KEY="<CLÉ ACCÈS>"
Téléchargez Datadog CI.
Configuration
La configuration se fait via un fichier JSON. Spécifiez le fichier datadog-ci.json
en utilisant l’argument --config
et la structure de fichier de configuration suivante :
{
"lambda": {
"layerVersion": 10,
"functions": ["arn:aws:lambda:us-east-1:000000000000:function:autoinstrument"],
"region": "us-east-1",
"tracing": true,
"mergeXrayTraces": true,
"forwarder": "arn:aws:lambda:us-east-1:000000000000:function:datadog-forwarder"
}
}
Commandes
Utilisez instrument
pour appliquer l’instrumentation Datadog à une fonction Lambda. Cette commande ajoute automatiquement la bibliothèque Lambda Datadog (en tant que couche Datadog) aux fonctions Lambda instrumentées et modifie leur configuration.
Cette commande constitue la solution la plus simple pour tester une instrumentation Datadog sur une fonction Lambda existante. Pour appliquer une instrumentation à un environnement de production, exécutez cette commande dans vos pipelines CI/CD afin de vous assurer que vos fonctions Lambda sont toujours mises à jour pour l’instrumentation.
# Instrumenter une fonction spécifiée par son ARN
datadog-ci lambda instrument --function arn:aws:lambda:us-east-1:000000000000:function:functionname --layerVersion 10
# Utiliser les formats abrégés
datadog-ci lambda instrument -f arn:aws:lambda:us-east-1:000000000000:function:functionname -v 10
# Instrumenter plusieurs fonctions spécifiées par leur nom (--region doit être défini)
datadog-ci lambda instrument -f functionname -f another-functionname -r us-east-1 -v 10
# Tester toutes les commandes de mise à jour
datadog-ci lambda instrument -f functionname -r us-east-1 -v 10 --dry
Tous les arguments :
Argument | Raccourci | Description | Valeur par défaut |
---|
–function | -f | L’ARN de la fonction Lambda à instrumenter, ou le nom de la fonction Lambda (–region doit être défini). | |
–region | -r | La région par défaut à utiliser, lorsque --function est spécifié par le nom de la fonction, et non par l’ARN. | |
–layerVersion | -v | La version de la couche Datadog à appliquer. La version dépend du runtime utilisé. Pour connaître la version de la couche la plus récente, consultez les notes de version du référentiel datadog-lambda-layer pour JS ou Python. | |
–tracing | | Définit si le tracing dd-trace doit être activé ou non sur votre fonction Lambda. | true |
–mergeXrayTraces | | Définit si les traces dd-trace doivent être associées ou non aux traces AWS X-Ray. Utile pour le tracing de spans API Gateway. | false |
–flushMetricsToLogs | | Définit si les métriques doivent être envoyées de façon asynchrone ou non via le Forwarder Datadog. | true |
–forwarder | | L’ARN du Forwarder Datadog auquel associer le groupe de logs de cette fonction. | |
–dry | -d | Prévisualiser les modifications que la commande exécutée appliquerait. | false |
Communauté
Si vous avez des commentaires ou des questions concernant les fonctionnalités, rejoignez le canal #serverless
de la communauté Slack Datadog.