Fonction de trace AWS Lambda native pour Python
Vous pouvez configurer le suivi Instana AWS Lambda pour les fonctions AWS Lambda écrites en Python.
Pour plus d'informations, consultez la page AWS Lambda tracing.
Environnements d'exécution pris en charge
Python 3.13Python 3.12Python 3.11Python 3.10Python 3.9
Prérequis
Configurez l 'agent AWS pour la surveillance Lambda afin de collecter les versions et les métriques d'exécution qu' Instana ne peut pas récupérer depuis l'environnement d'exécution AWS Lambda.
Configuration des fonctions d' AWS Lambda
Vous pouvez activer le traçage des fonctions Lambda en utilisant l'une des options de configuration suivantes :
- Utilisation de la couche Lambda d' Instana : instrumentation sans code de la fonction Lambda, réalisée uniquement par le biais de la configuration. Cette méthode est la plus recommandée pour activer le traçage.
- Installation manuelle du
instanapaquet : dans les environnements soumis à des restrictions, tels que les environnements « FedRAMP-compliant », vous pouvez installer manuellement le paquet Tracer disponible à l'adresse Instana Python.
Utilisation de la couche Lambda d' Instana
Pour activer le traçage des fonctions Lambda d' Python via la console Web d' AWS, procédez comme suit :
Étape 1. Ajoutez la couche Lambda d' Instana s à votre fonction
- Sur la page de configuration de votre fonction Lambda, cliquez sur l'onglet « Layers ».
Figure 1. Couches Lambda 
- Cliquez sur « Ajouter un calque » dans la boîte de dialogue « Calques ».
Figure 2. Ajouter une couche 
- Sur la nouvelle page qui s'ouvre, sélectionnez l'option « Spécifier un ARN » comme source de calque. Copiez-collez l'ARN de la couche Lambda « Instana » correspondant à votre région dans le champ « Spécifier un ARN », puis cliquez sur « Ajouter ». Vous trouverez l'ARN correspondant à la couche Lambda « Instana » dans la section « Couches Lambda » du site Instana.

Étape 2. Configurer le gestionnaire Lambda
Définissez le gestionnaire Lambda sur instana.lambda_handler. Sur la page de configuration des fonctions, accédez à la section « Paramètres d'exécution », puis cliquez sur « Modifier ».

Dans le champ « Handler », saisissez instana.lambda_handler, puis cliquez sur Save.

Si vous utilisez une valeur de gestionnaire personnalisée (au lieu du gestionnaire par défaut de votre environnement d'exécution, voir les détails ci-dessus), indiquez votre gestionnaire dans la variable d'environnement LAMBDA_HANDLER afin d'en informer la couche Lambda d' Instana. Par exemple, si votre gestionnaire est myModule.myHandler, définissez la variable d'environnement LAMBDA_HANDLER sur myModule.myHandler. Pour les autres variables d'environnement à définir, consultez la section suivante.
Lambda can't find the file instana.lambda_handler.. Ce message peut également s'afficher ultérieurement lorsque vous revenez sur la page de configuration. Vous pouvez ignorer cet avertissement, car le gestionnaire est inclus dans la couche Lambda d' Instana, mais la page de configuration d' AWS Lambda n'en tient pas compte.Étape 3. Configuration des variables d'environnement
Ajoutez les variables d'environnement suivantes :
INSTANA_ENDPOINT_URL: Votre point de terminaison de surveillance sans serveur. Veillez à utiliser la valeur correcte pour votre région qui commence parhttps://serverless-.INSTANA_AGENT_KEY: votre clé d'agent.LAMBDA_HANDLER: Votre gestionnaire personnalisé, si vous n'utilisez pas le gestionnaire par défautlambda_function.lambda_handler.
Vous pouvez également trouver les valeurs correctes de ces variables d'environnement dans votre installation d' Instana. Go Accédez à Sources de données > Installer des agents > AWS Lambda.
Étape 4. Utilisation de l'interface de ligne de commande (CLI) d' AWS
Vous pouvez également activer le traçage des fonctions Lambda à l'aide de l'un des outils de gestion d' AWS s suivants :
L'exemple suivant présente une commande aws CLI qui peut servir de point de départ si vous souhaitez automatiser l'intégration d' Instana s de vos fonctions AWS Lambda :
# 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 \
--handler instana.lambda_handler \
--environment ""Variables={INSTANA_ENDPOINT_URL=... , INSTANA_AGENT_KEY=... , ...}""
Installation manuelle du instana paquet
Au lieu d'utiliser la couche Lambda de Instana, vous pouvez également choisir d'installer manuellement le package Tracer disponible à l'adresse InstanaPython. Cette option est préférable dans les environnements soumis à des restrictions, tels que les environnements « FedRAMP-compliant ».
Pour activer le traçage des fonctions Lambda d' Python, procédez comme suit :
- Ajoutez le package Tracer de Instana Python en tant que dépendance à votre projet de fonction. [1]
- Configurez le gestionnaire Lambda comme
instana.lambda_handlerindiqué dans la section « Configuration du gestionnaire Lambda ». - Configurez les variables d'environnement suivantes pour la fonction Lambda :
INSTANA_ENDPOINT_URL: Votre point de terminaison de surveillance sans serveur. Veillez à utiliser la valeur correcte pour votre région qui commence parhttps://serverless-.INSTANA_AGENT_KEY: Votre clé d'agent.LAMBDA_HANDLER: Votre gestionnaire personnalisé, si vous n'utilisez pas le gestionnaire par défautlambda_function.lambda_handler.
Couches Instana Lambda
Les noms de ressource Amazon (ARN) de la dernière version des couches AWS Lambda pour Python sont les suivants, par région :
| Région | ARN |
|---|---|
af-south-1 |
arn:aws:lambda:af-south-1:410797082306:layer:instana-python:99 |
ap-east-1 |
arn:aws:lambda:ap-east-1:410797082306:layer:instana-python:99 |
ap-northeast-1 |
arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-python:99 |
ap-northeast-2 |
arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-python:99 |
ap-northeast-3 |
arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-python:99 |
ap-south-1 |
arn:aws:lambda:ap-south-1:410797082306:layer:instana-python:99 |
ap-south-2 |
arn:aws:lambda:ap-south-2:410797082306:layer:instana-python:99 |
ap-southeast-1 |
arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-python:99 |
ap-southeast-2 |
arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-python:99 |
ap-southeast-3 |
arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-python:99 |
ap-southeast-4 |
arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-python:99 |
ap-southeast-5 |
arn:aws:lambda:ap-southeast-5:410797082306:layer:instana-python:99 |
ap-southeast-7 |
arn:aws:lambda:ap-southeast-7:410797082306:layer:instana-python:99 |
ca-central-1 |
arn:aws:lambda:ca-central-1:410797082306:layer:instana-python:99 |
ca-west-1 |
arn:aws:lambda:ca-west-1:410797082306:layer:instana-python:99 |
cn-north-1 |
arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-python:99 |
cn-northwest-1 |
arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-python:99 |
eu-central-1 |
arn:aws:lambda:eu-central-1:410797082306:layer:instana-python:99 |
eu-central-2 |
arn:aws:lambda:eu-central-2:410797082306:layer:instana-python:99 |
eu-north-1 |
arn:aws:lambda:eu-north-1:410797082306:layer:instana-python:99 |
eu-south-1 |
arn:aws:lambda:eu-south-1:410797082306:layer:instana-python:99 |
eu-south-2 |
arn:aws:lambda:eu-south-2:410797082306:layer:instana-python:99 |
eu-west-1 |
arn:aws:lambda:eu-west-1:410797082306:layer:instana-python:99 |
eu-west-2 |
arn:aws:lambda:eu-west-2:410797082306:layer:instana-python:99 |
eu-west-3 |
arn:aws:lambda:eu-west-3:410797082306:layer:instana-python:99 |
il-central-1 |
arn:aws:lambda:il-central-1:410797082306:layer:instana-python:99 |
me-central-1 |
arn:aws:lambda:me-central-1:410797082306:layer:instana-python:99 |
me-south-1 |
arn:aws:lambda:me-south-1:410797082306:layer:instana-python:null |
sa-east-1 |
arn:aws:lambda:sa-east-1:410797082306:layer:instana-python:99 |
us-east-1 |
arn:aws:lambda:us-east-1:410797082306:layer:instana-python:99 |
us-east-2 |
arn:aws:lambda:us-east-2:410797082306:layer:instana-python:99 |
us-west-1 |
arn:aws:lambda:us-west-1:410797082306:layer:instana-python:99 |
us-west-2 |
arn:aws:lambda:us-west-2:410797082306:layer:instana-python:99 |
Le modèle pour les régions chinoises est arn:aws-cn:lambda:${region}:107998019096:layer:instana-python:${layer-version} et pour le reste des régions est arn:aws:lambda:${region}:410797082306:layer:instana-python:${layer-version}.
Veillez à toujours utiliser les dernières versions et à mettre à jour la version de couche que vous utilisez à intervalles réguliers pour bénéficier des nouvelles fonctionnalités et des correctifs que nous fournissons lors de la publication d'une nouvelle version de la couche.
Traitement des incidents
L'ordre des couches peut avoir une incidence sur les performances de la couche d' Instana
Lorsque vous ajoutez plusieurs couches à une fonction Lambda d' Python, l'ordre dans lequel vous les ajoutez a une incidence sur les performances de la couche d' Instana. Pour vous assurer que le calque « Instana » soit correctement tracé, placez-le en dernière position (c'est-à-dire avec le numéro le plus élevé) dans l'ordre de fusion des calques.

Suivez la documentation officielle d' AWS Lambda pour créer un package de déploiement.zip contenant les dépendances. ↩︎