CLI Serverless Datadog

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 :

ArgumentRaccourciDescriptionValeur par défaut
–function-fL’ARN de la fonction Lambda à instrumenter, ou le nom de la fonction Lambda (–region doit être défini).
–region-rLa région par défaut à utiliser, lorsque --function est spécifié par le nom de la fonction, et non par l’ARN.
–layerVersion-vLa 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.
–tracingDéfinit si le tracing dd-trace doit être activé ou non sur votre fonction Lambda.true
–mergeXrayTracesDé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
–flushMetricsToLogsDéfinit si les métriques doivent être envoyées de façon asynchrone ou non via le Forwarder Datadog.true
–forwarderL’ARN du Forwarder Datadog auquel associer le groupe de logs de cette fonction.
–dry-dPré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.