Configuration du traçage natif pour les fonctions d' AWS Lambda s basées sur l' Java

Vous pouvez configurer Instana AutoTrace pour les fonctions AWS Lambda écrites en Java et dans d'autres langages basés sur la machine virtuelle Java ( JVM ), comme Kotlin.

Pour plus d'informations, consultez Instana AutoTrace.

Pour configurer le traçage natif pour les fonctions AWS Lambda basées sur Java, vous devez ajouter la couche Instana Lambda à vos fonctions Lambda. Une fois le traçage activé, vous pouvez consulter les traces de toutes les requêtes liées aux fonctions AWS Lambda basées sur l' Java dans l'interface utilisateur d' Instana.

Environnements d'exécution pris en charge

Instana prend en charge JVM 1.8 et les versions ultérieures.

Configuration de la fonction « AWS Lambda »

Remarque : veillez à configurer l 'agent Instana AWS pour la surveillance Lambda afin de collecter les versions et les métriques d'exécution depuis l'environnement d'exécution AWS Lambda.

Vous pouvez activer le traçage des fonctions Lambda via la console Web AWS ou l'un des outils de gestion AWS suivants:

Activation du traçage via la console Web d' AWS

Pour activer le traçage des fonctions Lambda exécutées au sein d'un cluster de serveurs ( JVM ), procédez comme suit dans l'interface utilisateur d' AWS Lambda :

  1. Ajoutez la couche Lambda « Instana » à votre fonction :

    1. Dans l'onglet Configuration de votre fonction Lambda, cliquez sur Couches > Ajouter une couche.

      couche

    2. Dans la fenêtre « Ajouter une couche à la fonction », sélectionnez « Fournir un ARN de couche », puis copiez-collez l'ARN (Amazon Resource Name) de la couche Lambda « Instana » correspondant à votre région. Vous trouverez l'ARN correspondant à la couche Lambda « Instana » dans la section « Couches Lambda » du site Instana.

      sélection de couche

    3. Cliquez sur Ajouter.

  2. Configurez les variables d'environnement suivantes :

    Variables d'environnement Valeur
    JAVA_TOOL_OPTIONS -javaagent:/opt/instana/standalone-collector.jar
    INSTANA_ENDPOINT_URL <serverless_instana_endpoint> `
    INSTANA_AGENT_KEY <your_instana_agent_key>
    Remarque : veillez à utiliser la valeur correspondant à votre région, qui commence par https://serverless-. Pour plus d'informations, consultez la section « Points de terminaison pour la surveillance sans serveur ».

    Vous pouvez également obtenir les valeurs correctes de ces variables d'environnement depuis l'interface utilisateur d' Instana. Pour obtenir les valeurs correctes de ces variables d'environnement, cliquez sur Plus > Agents > Installer des agents > Plateforme : AWS > Technologie : AWS Lambda dans l'interface utilisateur d' Instana.

  3. Sauvegardez la définition de fonction Lambda.

    sauvegarder

Activation du traçage via l'interface de ligne de commande d' AWS

Si vous souhaitez automatiser l'intégration d' Instana s pour vos fonctions Lambda de l' AWS, consultez l'exemple de commande CLI suivant : AWS

# Do not copy and paste this verbatim!
# It will overwrite any previously defined collection of layers and
# environment variables.
aws --region $YOUR_REGION lambda update-function-configuration \
  --function-name $YOUR_LAMBDA_FUNCTION_NAME \
  --layers $INSTANA_LAYER_ARN \
  --environment ""Variables={JAVA_TOOL_OPTIONS=-javaagent:/opt/instana/standalone-collector.jar, INSTANA_ENDPOINT_URL=... , INSTANA_AGENT_KEY=... , ...}""
 

Couches Instana Lambda

Les ARN de la dernière version des couches de l' AWS Lambda s pour Java, classées par région, sont les suivantes :

Région ARN
af-south-1 arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-java:141
ap-east-1 arn:aws:lambda:ap-east-1:410797082306:layer:instana-java:68
ap-northeast-1 arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-java:141
ap-northeast-2 arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-java:139
ap-northeast-3 arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-java:68
ap-south-1 arn:aws:lambda:ap-south-1:410797082306:layer:instana-java:139
ap-south-2 arn:aws:lambda:ap-south-2:410797082306:layer:instana-java:68
ap-southeast-1 arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-java:139
ap-southeast-2 arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-java:139
ap-southeast-3 arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-java:68
ap-southeast-4 arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-java:68
ca-central-1 arn:aws:lambda:ca-central-1:410797082306:layer:instana-java:139
cn-north-1 arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-java:36
cn-northwest-1 arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-java:45
eu-central-1 arn:aws:lambda:eu-central-1:410797082306:layer:instana-java:131
eu-central-2 arn:aws:lambda:eu-central-2:410797082306:layer:instana-java:57
eu-north-1 arn:aws:lambda:eu-north-1:410797082306:layer:instana-java:128
eu-south-1 arn:aws:lambda:eu-south-1:410797082306:layer:instana-java:57
eu-south-2 arn:aws:lambda:eu-south-2:410797082306:layer:instana-java:57
eu-west-1 arn:aws:lambda:eu-west-1:410797082306:layer:instana-java:128
eu-west-2 arn:aws:lambda:eu-west-2:410797082306:layer:instana-java:128
eu-west-3 arn:aws:lambda:eu-west-3:410797082306:layer:instana-java:128
il-central-1 arn:aws:lambda:il-central-1:410797082306:layer:instana-java:54
me-central-1 arn:aws:lambda:me-central-1:410797082306:layer:instana-java:null
me-south-1 arn:aws:lambda:me-south-1:410797082306:layer:instana-java:null
sa-east-1 arn:aws:lambda:sa-east-1:410797082306:layer:instana-java:120
us-east-1 arn:aws:lambda:us-east-1:410797082306:layer:instana-java:120
us-east-2 arn:aws:lambda:us-east-2:410797082306:layer:instana-java:120
us-west-1 arn:aws:lambda:us-west-1:410797082306:layer:instana-java:120
us-west-2 arn:aws:lambda:us-west-2:410797082306:layer:instana-java:120

Le modèle est arn:aws:lambda:${region}:410797082306:layer:instana-java:${layer-version} (ou arn:aws-cn:lambda:${region}:107998019096:layer:instana-java:${layer-version} pour les régions AWS en Chine).

Remarque : veillez à toujours utiliser les dernières versions de la couche Lambda d' Instana. Mettez à jour la version de couche que vous utilisez à intervalles réguliers pour bénéficier des fonctions et des correctifs fournis par la nouvelle version de la couche.