Fonction de trace AWS Lambda native pour Node.js
Vous pouvez configurer Instana Tracing pour AWS Lambda functions qui est écrit en Node.js.
Environnements d'exécution pris en charge
- Node.js 24.x
- Node.js 22.x
- Node.js 20.x
- Node.js 18.x
Prérequis
Configurez l' agent AWS pour la surveillance Lambda afin d'assurer la collecte des informations nécessaires sur les versions et certaines métriques d'exécution qu'Instana ne peut pas collecter à l'intérieur de l'exécution Lambda AWS.
Mise en place d'un suivi pour les fonctions Lambda sur Node.js
Instana propose plusieurs façons d'activer le traçage pour les fonctions Lambda de AWS. Les options de configuration suivantes sont disponibles :
- Instana AutoTrace: Pour configurer automatiquement le traçage pour vos fonctions Lambda, utilisez la configuration Instana AutoTrace. C'est la méthode préférée pour activer le traçage.
- Paquet Instana Lambda : pour les environnements restreints, vous pouvez installer manuellement le
@instana/aws-lambdaemballer. - Couche Instana Lambda pour les fonctions basées sur les conteneurs : Pour les fonctions basées sur des conteneurs, vous pouvez inclure la couche Instana Lambda dans votre fichier Docker.
- Intégration du traçage Instana avec le Serverless Framework : Si vous utilisez le Serverless Framework, modifiez le site
serverless.ymlpour intégrer le traçage.
us-gov-west-1 et us-gov-east-1). Si vous souhaitez utiliser Instana dans les régions GovCloud, installez manuellement le paquet Instana Node.js @instana/aws-lambda et enveloppez votre fonction de gestion comme décrit dans la section Installation manuelle de @instana/aws-lambda.Configuration d'Instana AutoTrace
La configuration d'Instana AutoTrace pour Node.js vous permet de suivre les fonctions AWS Lambda en utilisant la couche Instana Lambda et un gestionnaire de fonctions personnalisé. Cette approche ne nécessite aucune modification de code de la fonction Lambda et s'effectue par le biais d'une simple configuration. Cette configuration peut parfaitement être automatisée ou incluse dans un pipeline de déploiement Lambda.
Pour activer le suivi des fonctions Lambda Node.js, procédez comme suit :
Ajoutez la couche Instana Lambda à votre fonction.
- Dans la page de configuration de votre fonction Lambda, cliquez sur la
Layerscase, puis surAdd a layer.
- Dans la fenêtre contextuelle qui s'ouvre, sélectionnez Fournir un ARN de version de couche, puis copiez et collez l'ARN correspondant à votre région pour la couche Instana Lambda. Vous trouverez l'ARN approprié pour la couche Instana Lambda dans la section Couches Instana Lambda.

- Dans la page de configuration de votre fonction Lambda, cliquez sur la
Configurez le gestionnaire Lambda. Définissez le gestionnaire à
instana-aws-lambda-auto-wrap.handlersi vous utilisez CommonJS. Définir le gestionnaire surinstana-aws-lambda-auto-wrap-esm.handlersi vous utilisez les modules ES ( ES6 ) (disponibles à partir de la version de couche 223).Pour modifier les paramètres du gestionnaire Lambda, consultez la section "Paramètres de base" sur la page de configuration.

Cliquez sur Editer et insérez
instana-aws-lambda-auto-wrap.handlerdans la zone "Gestionnaire".
La couche Instana Lambda déclenche automatiquement le gestionnaire d'exécution par défaut Node.js
index.handler. Si vous utilisez un gestionnaire personnalisé, spécifiez votre gestionnaire dans la variable d'environnement LAMBDA_HANDLER pour notifier la couche Lambda d'Instana. Voir la section suivante pour toutes les variables d'environnement qui doivent être définies.La page de configuration Lambda peut afficher un avertissement tel que Lambda ne peut pas trouver le fichier instana-aws-lambda-auto-wrap.js. Cet avertissement peut également s'afficher ultérieurement lors du retour à la page de configuration. Ne vous laissez pas distraire par cet avertissement. Le gestionnaire réside dans la couche Instana Lambda, mais la page de configuration d'AWS Lambda n'en tient pas compte.
Configurez les variables d'environnement. Ajoutez les variables d'environnement suivantes :
INSTANA_ENDPOINT_URL: Il s'agit de votre point final 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: Définissez votre gestionnaire personnalisé. Si votre fichier principal estmyModule.js, qui exporte la fonctionmyHandler, définissez la variable d'environnementmyModule.myHandler. La valeur par défaut estindex.handler.
Dans l'exemple suivant, le gestionnaire Lambda principal d'origine est
index.js, et vous n'avez donc pas besoin de définir la variable d'environnement LAMBDA_HANDLER.
Dans l'exemple suivant, le gestionnaire Lambda principal d'origine est
server.js, et vous devez donc définir la variable d'environnement LAMBDA_HANDLER surserver.handler.
Vous pouvez également obtenir les valeurs correctes pour ces variables d'environnement en allant dans votre installation Instana, cliquez sur... More -> Agents -> Installation des agents Instana -> Plate-forme : AWS -> Technologie : AWS Lambda.
Enregistrez la définition de la fonction Lambda.

Toutes les étapes décrites précédemment peuvent être effectuées soit via la console web AWS, soit via l'un des outils de gestion habituels de AWS, comme par exemple :
- l' interface de ligne de commande
aws - le framework sans serveur cli
- le kit de développement AWS Cloud
Voici un exemple de commande CLI aws qui pourrait servir de point de départ si vous souhaitez automatiser l'intégration d'Instana de vos instances 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-aws-lambda-auto-wrap.handler \
--environment ""Variables={INSTANA_ENDPOINT_URL=... , INSTANA_AGENT_KEY=... , ...}""
Installation manuelle de @instana/aws-lambda
Au lieu d'utiliser la couche Instana Lambda, vous pouvez également envisager d'installer manuellement le package npm @instana/aws-lambda :
- Ajoutez la dépendance
@instana/aws-lambdaà votre projet en exécutantnpm install -S @instana/aws-lambda(ouyarn add @instana/aws-lambda) dans le répertoire de votre projet. Cette commande ajouter le package à votre dossiernode_moduleset enregistre la dépendance dans votre fichierpackage.json. - Ajouter les variables d'environnement
INSTANA_ENDPOINT_URLetINSTANA_AGENT_KEYavec les valeurs requises. - Modifiez le code de la fonction conformément à la section Enveloppe manuelle du gestionnaire.
Encapsulation manuelle du gestionnaire
Si vous ne voulez pas ou ne parvenez pas à utiliser l'auto-wrap handler, vous devez modifier légèrement le code de votre fonction Lambda Node.js AWS pour activer le traçage d'Instana.
@instana/aws-lambda (ou toutes les dépendances) du prétraitement avec Webpack. Voir cette section dans la documentation Node.js; pour le framework serverless, se référer également à la section Serverless framework.- Ajoutez la ligne
const instana = require('@instana/aws-lambda');au tout début du fichier JavaScript de votre gestionnaire. - Ecapsulez la fonction de gestionnaire dans un appel
instana.wrap(). - Configurez les variables d'environnement pour la connexion au backend Instana comme décrit dans la documentation Instana AutoTrace pour AWS Lambda.
Voici quelques exemples avant et après pour les différents styles de fonction de gestionnaire qui pouvant être utilisés pour les services AWS Lambda basés sur Node.js :
Gestionnaire de style de fonction asynchrone
Si vous utilisez une fonction async en tant que gestionnaire, elle doit se présenter comme suit :
exports.handler = async (event, context) => {
// your code
};
Le code qui en résulte devrait ressembler à ceci :
const instana = require('@instana/aws-lambda');
exports.handler = instana.wrap(async (event, context) => {
// your code
}); // <- don't forget the closing ) for the instana.wrap(
Gestionnaire Lambda de style promesse
Si vous utilisez un gestionnaire de style de promesse (promise), il doit se présenter comme suit :
exports.handler = (event, context) => {
// your code, which returns a promise
};
Le code qui en résulte devrait ressembler à ceci :
const instana = require('@instana/aws-lambda');
exports.handler = instana.wrap((event, context) => {
// your code, which returns a promise
}); // <- don't forget the closing ) for the instana.wrap(
Gestionnaire Lambda de style rappel
Si vous utilisez un gestionnaire de style rappel (callback), il doit se présenter comme suit :
exports.handler = (event, context, callback) => {
// your code
};
Le code qui en résulte devrait ressembler à ceci :
const instana = require('@instana/aws-lambda');
exports.handler = instana.wrap((event, context, callback) => {
// your code
}); // <- don't forget the closing ) for the instana.wrap(
Objet de configuration
Vous pouvez également passer un objet de configuration facultatif comme premier argument lors de l'encapsulation de votre gestionnaire :
exports.handler = instana.wrap({
// ... your configuration, for example:
tracing: {
stackTraceLength: 10
}
},
async (event, context) => {
// your code
});
Les valeurs de configuration qui ne sont pas prises en charge dans la traçabilité Lambda native (comme agentHost, agentPort et reportUnhandledPromiseRejections) sont ignorées de manière silencieuse.
Notez que vous pouvez également utiliser les variables d'environnement énumérées dans la section Variables d'environnement supplémentaires et la plupart des variables énumérées sur la page de configuration de Node.js.
Couche Instana Lambda pour les fonctions basées sur les conteneurs
Si votre équipe utilise des déploiements Lambda basés sur des conteneurs, vous pouvez utiliser nos conteneurs de base sur icr.io/instana/aws-lambda-nodejs ou inclure l'extrait suivant dans votre fichier Docker et définir les arguments de temps de construction aux versions appropriées.
Instana ne prend actuellement en charge que l'architecture x86_64 .
Cette image n'est pas destinée à être utilisée dans les environnements FedRAMP-compliant.
# This is the container image that delivers Instana's monitoring capabilities.
# It will not become the base image for your Lambda container image, it just provides a few files.
FROM icr.io/instana/aws-lambda-nodejs:latest as instana-layer
# This is the actual base image for your Lambda container image. You can also use any other base image that is suitable
# for container image based Lambda functions.
FROM public.ecr.aws/lambda/nodejs:14
# Copy Instana's Node.js monitoring components into your Lambda container image.
COPY --from=instana-layer /opt/extensions/ /opt/extensions/
COPY --from=instana-layer /opt/nodejs/ /opt/nodejs/
# The remainder of your Dockerfile, as it was without adding the Instana layer. The following is just an example:
COPY index.js package.json package-lock.json /var/task/
WORKDIR /var/task
RUN npm install
# Override the CMD. This can also be done as a parameter override outside of the Dockerfile, for example in the AWS console.
# If you use ES modules, use CMD [ "instana-aws-lambda-auto-wrap-esm.handler" ] instead.
CMD [ "instana-aws-lambda-auto-wrap.handler" ]
Au lieu de icr.io/instana/aws-lambda-nodejs:latest, vous pouvez également utiliser une version spécifique du module Instana npm @instana/aws-lambda supérieure ou égale à 1.137.2 (voir CHANGELOG ), comme par exemple :
FROM icr.io/instana/aws-lambda-nodejs:1.140.1 as instana-layer
Ou bien vous ne pouvez épingler que la version majeure, tout en autorisant les versions mineures ou correctives plus récentes :
FROM icr.io/instana/aws-lambda-nodejs:1 as instana-layer
icr.io/instana/aws-lambda-nodejs ne prendront plus en charge les anciennes durées d'exécution de Lambda Node.js. Par exemple, à partir de la version icr.io/instana/aws-lambda-nodejs:2.0.0, la prise en charge de nodejs8.x sera abandonnée. Il est recommandé d'épingler la version majeure lors de l'utilisation d'anciens runtimes Lambda.Intégration de la fonction de trace Instana à l'infrastructure sans serveur
Modifiez le site serverless.yml pour intégrer le traçage Instana avec le Serverless Framework. Suivez ces étapes :
Copiez l' ARN du calque dans la liste et ajoutez l'ARN à la section des calques de la définition de la fonction cible.
Ajoutez les variables d'environnement
INSTANA_AGENT_KEY,INSTANA_ENDPOINT_URLetLAMBDA_HANDLER. Pour plus d'informations, voir Instana AutoTrace setup.
Voir l'exemple suivant serverless.yml:
service: service-a
provider:
name: aws
runtime: nodejs16.x
stage: dev
region: us-east-2
functions:
with-layer:
environment:
INSTANA_ENDPOINT_URL: INSTANA_ENDPOINT_URL
INSTANA_AGENT_KEY: INSTANA_AGENT_KEY
LAMBDA_HANDLER: src/index.handler
layers:
- arn:aws:lambda:us-east-2:410797082306:layer:instana-nodejs:111
handler: instana-aws-lambda-auto-wrap.handler
Sans serveur hors ligne
Prérequis : Assurez-vous d'avoir suivi les étapes 1 et 2 de la section Intégrer Instana Tracing avec le Serverless Framework.
Modifiez le fichier serverless.yml pour intégrer Instana avec le Serverless Framework et Serverless Offline. Suivez ces étapes :
- Définissez la variable d'environnement
NODE_PATHcomme étant$NODE_PATH:/opt/nodejs/node_modules. - Définir
useDockerle champtruedans la sectioncustom. Ensuite, la couche Instana sera automatiquement téléchargée dans un conteneur Docker.
Voir l'exemple suivant serverless.yml:
service: service-b
provider:
name: aws
runtime: nodejs12.x
stage: dev
region: us-east-2
plugins:
- serverless-offline
custom:
serverless-offline:
useDocker: true
functions:
with-serverless-offline:
environment:
NODE_PATH: $NODE_PATH:/opt/nodejs/node_modules
INSTANA_ENDPOINT_URL: INSTANA_ENDPOINT_URL
INSTANA_AGENT_KEY: INSTANA_AGENT_KEY
LAMBDA_HANDLER: src/index.handler
layers:
- arn:aws:lambda:us-east-2:410797082306:layer:instana-nodejs:111
handler: instana-aws-lambda-auto-wrap.handler
Webpack sans serveur
Prérequis : Assurez-vous d'avoir suivi les étapes 1 et 2 de la section Intégrer Instana Tracing avec le Serverless Framework.
Modifiez le fichier serverless.yml pour intégrer Instana avec le Serverless Framework et le Serverless Webpack.
Ajouter entrypoint à la définition de la fonction Lambda cible. Le point d'entrée est votre Node.js Lambda handler original, qui est déclenché automatiquement par la couche Instana Lambda. Pour plus d'informations, voir Instana AutoTrace setup.
Voir l'exemple suivant serverless.yml:
service: service-c
provider:
name: aws
runtime: nodejs12.x
stage: dev
region: us-east-2
plugins:
- serverless-webpack
package:
individually: true
functions:
with-serverless-webpack:
environment:
INSTANA_ENDPOINT_URL: INSTANA_ENDPOINT_URL
INSTANA_AGENT_KEY: INSTANA_AGENT_KEY
LAMBDA_HANDLER: src/index.handler
layers:
- arn:aws:lambda:us-east-2:410797082306:layer:instana-nodejs:110
handler: instana-aws-lambda-auto-wrap.handler
entrypoint: src/index.handler
Remarques :
Vous devez utiliser la dernière version de
serverless-webpack.Il est recommandé d'utiliser le AWS System Manager Parameter Store (SSM) pour le serverless afin d'éviter de mettre la clé de l'agent Instana dans le
serverless.yml. Pour plus d'informations, consultez le blog du Serverless Framework.
Couches Instana Lambda
La couche Node.js comprend l' extension Instana AWS Lambda. Les données de surveillance et les traces sont déchargées localement vers l'extension Instana Lambda, qui les transmet ensuite au backend Instana. Cette fonctionnalité offre l'avantage suivant : la fonction Lambda répond au client qui l'invoque immédiatement après la fin du gestionnaire, sans attendre que les données soient envoyées au backend d'Instana.
Cette fonction est limitée aux fonctions Lambda configurées avec une mémoire de 256 Mo ou plus. Vous pouvez désactiver l'extension Instana Lambda en définissant la variable d'environnement INSTANA_DISABLE_LAMBDA_EXTENSION à une chaîne non vide pour la fonction Lambda.
us-gov-west-1 et us-gov-east-1). Si vous souhaitez utiliser Instana dans les régions GovCloud, vous devez installer manuellement le paquet Instana Node.js @instana/aws-lambda et envelopper votre fonction de gestion comme décrit dans la section Installation manuelle de @instana/aws-lambda.Architecture x86_64
Les ARNs de la dernière version des couches Lambda de AWS pour les runtimes Lambda listés dans Supported Runtimes sont les suivants, par région :
| Région | ARN | Version de @instana/aws-lambda |
|---|---|---|
af-south-1 |
arn:aws:lambda:af-south-1:410797082306:layer:instana-nodejs:150 |
5.0.2 |
ap-east-1 |
arn:aws:lambda:ap-east-1:410797082306:layer:instana-nodejs:149 |
5.0.2 |
ap-east-2 |
arn:aws:lambda:ap-east-2:410797082306:layer:instana-nodejs:36 |
5.0.2 |
ap-northeast-1 |
arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-nodejs:305 |
5.0.2 |
ap-northeast-2 |
arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-nodejs:303 |
5.0.2 |
ap-northeast-3 |
arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-nodejs:149 |
5.0.2 |
ap-south-1 |
arn:aws:lambda:ap-south-1:410797082306:layer:instana-nodejs:303 |
5.0.2 |
ap-south-2 |
arn:aws:lambda:ap-south-2:410797082306:layer:instana-nodejs:149 |
5.0.2 |
ap-southeast-1 |
arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-nodejs:303 |
5.0.2 |
ap-southeast-2 |
arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-nodejs:302 |
5.0.2 |
ap-southeast-3 |
arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-nodejs:148 |
5.0.2 |
ap-southeast-4 |
arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-nodejs:148 |
5.0.2 |
ap-southeast-5 |
arn:aws:lambda:ap-southeast-5:410797082306:layer:instana-nodejs:97 |
5.0.2 |
ap-southeast-6 |
arn:aws:lambda:ap-southeast-6:410797082306:layer:instana-nodejs:18 |
5.0.2 |
ap-southeast-7 |
arn:aws:lambda:ap-southeast-7:410797082306:layer:instana-nodejs:54 |
5.0.2 |
ca-central-1 |
arn:aws:lambda:ca-central-1:410797082306:layer:instana-nodejs:301 |
5.0.2 |
ca-west-1 |
arn:aws:lambda:ca-west-1:410797082306:layer:instana-nodejs:129 |
5.0.2 |
cn-north-1 |
arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-nodejs:78 |
5.0.1 |
cn-northwest-1 |
arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-nodejs:82 |
5.0.1 |
eu-central-1 |
arn:aws:lambda:eu-central-1:410797082306:layer:instana-nodejs:279 |
5.0.2 |
eu-central-2 |
arn:aws:lambda:eu-central-2:410797082306:layer:instana-nodejs:125 |
5.0.2 |
eu-north-1 |
arn:aws:lambda:eu-north-1:410797082306:layer:instana-nodejs:279 |
5.0.2 |
eu-south-1 |
arn:aws:lambda:eu-south-1:410797082306:layer:instana-nodejs:125 |
5.0.2 |
eu-south-2 |
arn:aws:lambda:eu-south-2:410797082306:layer:instana-nodejs:125 |
5.0.2 |
eu-west-1 |
arn:aws:lambda:eu-west-1:410797082306:layer:instana-nodejs:279 |
5.0.2 |
eu-west-2 |
arn:aws:lambda:eu-west-2:410797082306:layer:instana-nodejs:279 |
5.0.2 |
eu-west-3 |
arn:aws:lambda:eu-west-3:410797082306:layer:instana-nodejs:279 |
5.0.2 |
il-central-1 |
arn:aws:lambda:il-central-1:410797082306:layer:instana-nodejs:122 |
5.0.2 |
me-central-1 |
arn:aws:lambda:me-central-1:410797082306:layer:instana-nodejs:124 |
5.0.2 |
me-south-1 |
arn:aws:lambda:me-south-1:410797082306:layer:instana-nodejs:124 |
5.0.2 |
mx-central-1 |
arn:aws:lambda:mx-central-1:410797082306:layer:instana-nodejs:52 |
5.0.2 |
sa-east-1 |
arn:aws:lambda:sa-east-1:410797082306:layer:instana-nodejs:278 |
5.0.2 |
us-east-1 |
arn:aws:lambda:us-east-1:410797082306:layer:instana-nodejs:278 |
5.0.2 |
us-east-2 |
arn:aws:lambda:us-east-2:410797082306:layer:instana-nodejs:278 |
5.0.2 |
us-west-1 |
arn:aws:lambda:us-west-1:410797082306:layer:instana-nodejs:278 |
5.0.2 |
us-west-2 |
arn:aws:lambda:us-west-2:410797082306:layer:instana-nodejs:278 |
5.0.2 |
En d'autres termes, le modèle est arn:aws:lambda:${region}:410797082306:layer:instana-nodejs:${layer-version} (ou arn:aws-cn:lambda:${region}:107998019096:layer:instana-nodejs:${layer-version} pour les régions AWS en Chine).
Veillez à toujours utiliser les versions les plus récentes et à mettre à jour la version de la couche que vous utilisez à intervalles réguliers afin de bénéficier des nouvelles fonctionnalités et des corrections que nous apportons lors de la publication d'une nouvelle version de la couche.
Architecture arm64
| Région | ARN | Version de @instana/aws-lambda |
|---|---|---|
af-south-1 |
arn:aws:lambda:af-south-1:410797082306:layer:instana-nodejs-arm64:123 |
5.0.2 |
ap-east-1 |
arn:aws:lambda:ap-east-1:410797082306:layer:instana-nodejs-arm64:123 |
5.0.2 |
ap-east-2 |
arn:aws:lambda:ap-east-2:410797082306:layer:instana-nodejs-arm64:35 |
5.0.2 |
ap-northeast-1 |
arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-nodejs-arm64:162 |
5.0.2 |
ap-northeast-2 |
arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-nodejs-arm64:162 |
5.0.2 |
ap-northeast-3 |
arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-nodejs-arm64:123 |
5.0.2 |
ap-south-1 |
arn:aws:lambda:ap-south-1:410797082306:layer:instana-nodejs-arm64:162 |
5.0.2 |
ap-south-2 |
arn:aws:lambda:ap-south-2:410797082306:layer:instana-nodejs-arm64:123 |
5.0.2 |
ap-southeast-1 |
arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-nodejs-arm64:162 |
5.0.2 |
ap-southeast-2 |
arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-nodejs-arm64:162 |
5.0.2 |
ap-southeast-3 |
arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-nodejs-arm64:123 |
5.0.2 |
ap-southeast-4 |
arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-nodejs-arm64:123 |
5.0.2 |
ap-southeast-5 |
arn:aws:lambda:ap-southeast-5:410797082306:layer:instana-nodejs-arm64:80 |
5.0.2 |
ap-southeast-6 |
arn:aws:lambda:ap-southeast-6:410797082306:layer:instana-nodejs-arm64:18 |
5.0.2 |
ap-southeast-7 |
arn:aws:lambda:ap-southeast-7:410797082306:layer:instana-nodejs-arm64:53 |
5.0.2 |
ca-central-1 |
arn:aws:lambda:ca-central-1:410797082306:layer:instana-nodejs-arm64:162 |
5.0.2 |
ca-west-1 |
arn:aws:lambda:ca-west-1:410797082306:layer:instana-nodejs-arm64:107 |
5.0.2 |
cn-north-1 |
arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-nodejs-arm64:72 |
5.0.1 |
cn-northwest-1 |
arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-nodejs-arm64:78 |
5.0.1 |
eu-central-1 |
arn:aws:lambda:eu-central-1:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
eu-central-2 |
arn:aws:lambda:eu-central-2:410797082306:layer:instana-nodejs-arm64:120 |
5.0.2 |
eu-north-1 |
arn:aws:lambda:eu-north-1:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
eu-south-1 |
arn:aws:lambda:eu-south-1:410797082306:layer:instana-nodejs-arm64:120 |
5.0.2 |
eu-south-2 |
arn:aws:lambda:eu-south-2:410797082306:layer:instana-nodejs-arm64:120 |
5.0.2 |
eu-west-1 |
arn:aws:lambda:eu-west-1:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
eu-west-2 |
arn:aws:lambda:eu-west-2:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
eu-west-3 |
arn:aws:lambda:eu-west-3:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
il-central-1 |
arn:aws:lambda:il-central-1:410797082306:layer:instana-nodejs-arm64:118 |
5.0.2 |
me-central-1 |
arn:aws:lambda:me-central-1:410797082306:layer:instana-nodejs-arm64:120 |
5.0.2 |
me-south-1 |
arn:aws:lambda:me-south-1:410797082306:layer:instana-nodejs-arm64:120 |
5.0.2 |
mx-central-1 |
arn:aws:lambda:mx-central-1:410797082306:layer:instana-nodejs-arm64:51 |
5.0.2 |
sa-east-1 |
arn:aws:lambda:sa-east-1:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
us-east-1 |
arn:aws:lambda:us-east-1:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
us-east-2 |
arn:aws:lambda:us-east-2:410797082306:layer:instana-nodejs-arm64:155 |
5.0.2 |
us-west-1 |
arn:aws:lambda:us-west-1:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
us-west-2 |
arn:aws:lambda:us-west-2:410797082306:layer:instana-nodejs-arm64:159 |
5.0.2 |
Soutien au SSM
Disponible à partir de la version 99 de la couche instana-nodejs/@instana/aws-lambda@1.138.0.
Vous pouvez également fournir la clé de l'agent Instana via le magasin de paramètres de AWS SSM ( System Manager ).
- Ajoutez la clé de l'agent Instana à votre magasin de paramètres SSM. Mémoriser ou copier le nom du paramètre.
- Supprimez
INSTANA_AGENT_KEYde vos variables d'environnement. - Ajoutez
INSTANA_SSM_PARAM_NAMEà vos variables d'environnement avec le nom du paramètre copié. - Si vous avez ajouté le paramètre en tant que "SecureString",, vous devez également définir
INSTANA_SSM_DECRYPTION=true. Si vous avez utilisé le type "String", aucune variable supplémentaire ne doit être définie.
Utilisation de l'API Instana dans les fonctions Lambda
Vous pouvez accéder à l'ensemble de l'API Instana et l'utiliser dans votre code Lambda, comme dans une application Node.js classique utilisant @instana/collector.
Si vous utilisez la couche Instana Node.js Lambda et l'auto-wrap handler, vous devez ajouter la ligne suivante à votre code :
const instana = require('@instana/aws-lambda');
Si vous utilisez le wrapping manuel, vous avez déjà cette ligne dans votre fichier Lambda handler.
@instana/aws-lambda comme dépendance à votre fichier package.json . Ce paquet est fourni par la couche Instana Node.js Lambda. L'ajouter en tant que dépendance tout en utilisant la couche Lambda n'est pas pris en charge.Si le code de votre fonction Lambda se compose de plusieurs fichiers source, vous pouvez également ajouter l'instruction const instana = require('@instana/aws-lambda'); dans d'autres fichiers de code source pour obtenir l'accès à l'API Instana Node.js.
Variables d'environnement supplémentaires
| Nom | Par défaut | Valeur | Description |
|---|---|---|---|
INSTANA_DISABLE_LAMBDA_EXTENSION |
false |
Toute chaîne non vide. | Désactiver ou non l'extension lambda. |
INSTANA_ENABLE_LAMBDA_TIMEOUT_DETECTION |
false |
true ou false |
Cette fonction est désactivée par défaut, car l'exécution d'un gestionnaire de délai d'attente peut se produire lors d'une exécution différente. Ne l'utilisez que pour le débogage. L'autoriser peut avoir des conséquences inattendues. C'est donc à vos risques et périls que vous l'activez. |
INSTANA_MINIMUM_LAMBDA_TIMEOUT_FOR_TIMEOUT_DETECTION_IN_MS |
2 000 | Délai d'attente en millisecondes | Augmenter le délai minimum de détection en millisecondes. |
INSTANA_DEBUG |
false |
true ou false |
Active le mode de débogage. |
INSTANA_TIMEOUT |
1000 |
Nombre | Délai d'attente pour l'envoi de données au backend d'Instana, en millisecondes. |