AWS Lambda Native Tracing for Node.js
È possibile impostare Instana Tracing per le funzioni Lambda di AWS scritte in Node.js.
Runtime supportati
- Node.js 24.x
- Node.js 22.x
- Node.js 20.x
- Node.js 18.x
Prerequisiti
Configurare l' agente AWS per il monitoraggio di Lambda, per garantire la raccolta delle informazioni necessarie sulle versioni e su alcune metriche del runtime che Instana non può raccogliere dall'interno del runtime AWS Lambda.
Impostazione del tracciamento per le funzioni Lambda di Node.js
Instana offre diversi modi per abilitare il tracciamento per le funzioni Lambda di AWS. Sono disponibili le seguenti opzioni di impostazione:
- Instana AutoTrace: Per configurare automaticamente il tracciamento per le funzioni Lambda, utilizzare l' impostazione di Instana AutoTrace. Questo è il metodo preferito per abilitare il tracciamento.
- Pacchetto Instana Lambda: per ambienti con restrizioni, è possibile installare manualmente il
@instana/aws-lambdapacchetto. - Strato Instana Lambda per le funzioni basate su container : Per le funzioni basate su container, è possibile includere il livello Instana Lambda nel file Docker.
- Integrazione del tracciamento di Instana con il framework Serverless : Se si utilizza Serverless Framework, modificare
serverless.ymlper integrare il tracciamento.
us-gov-west-1 e us-gov-east-1). Se si vuole usare Instana nelle regioni GovCloud, installare manualmente il pacchetto Instana Node.js @instana/aws-lambda e avvolgere la funzione di gestione come descritto nella sezione Installazione manuale di @instana/aws-lambda.Configurazione di Instana AutoTrace
La configurazione di Instana AutoTrace per Node.js consente di tracciare le funzioni Lambda di AWS è di utilizzare il livello Instana Lambda e un gestore di funzioni personalizzato. Questo approccio non richiede la modifica del codice della funzione Lambda e avviene esclusivamente attraverso la configurazione. È anche adatto per essere automatizzato o incluso in una pipeline di distribuzione Lambda.
Per abilitare il tracciamento delle funzioni Lambda di Node.js, eseguire i seguenti passaggi:
Aggiungere il livello Instana Lambda alla funzione.
- Nella pagina di configurazione della funzione Lambda, clicca sulla
Layerscasella e poi suAdd a layer.
- Nella finestra popup che si apre, seleziona Fornisci un ARN della versione del livello e copia e incolla l'ARN per il livello Instana Lambda corrispondente alla tua regione; puoi trovare l'ARN corretto per il livello Instana Lambda nella sezione Livelli Instana Lambda.

- Nella pagina di configurazione della funzione Lambda, clicca sulla
Configurare il Lambda Handler. Impostare il gestore su
instana-aws-lambda-auto-wrap.handlerse si utilizza il metodo CommonJS. Impostare il gestore suinstana-aws-lambda-auto-wrap-esm.handlerse si utilizzano i Moduli ES ( ES6 ) (disponibili dalla versione 223 del layer).Per modificare le impostazioni del gestore Lambda, nella pagina di configurazione si trova la sezione "Impostazioni di base".

Fare clic su modifica e inserire
instana-aws-lambda-auto-wrap.handlernel campo "Handler".
Il livello Instana Lambda attiva automaticamente il gestore runtime predefinito Node.js
index.handler. Se si usa un gestore personalizzato, specificarlo nella variabile d'ambiente LAMBDA_HANDLER per notificarlo al Lambda Layer di Instana. Vedere la sezione successiva per tutte le variabili d'ambiente che devono essere impostate.La pagina di configurazione di Lambda potrebbe visualizzare un avviso del tipo Lambda non trova il file instana-aws-lambda-auto-wrap.js. Questo potrebbe essere visualizzato anche in seguito, quando si torna alla pagina di configurazione. Non lasciatevi distrarre da questo avvertimento. Il gestore è contenuto nel livello Instana Lambda, ma la pagina di configurazione di AWS Lambda non ne tiene conto.
Configurare le variabili d'ambiente. Aggiungi le seguenti variabili di ambiente:
INSTANA_ENDPOINT_URL: Questo è il tuo endpoint di monitoraggio senza server. Assicurarsi di utilizzare il valore corretto per la propria regione che inizia conhttps://serverless-.INSTANA_AGENT_KEY: La chiave dell'agente.LAMBDA_HANDLER: Impostare il gestore personalizzato. Se il file principale èmyModule.js, che esporta la funzionemyHandler, impostare la variabile d'ambiente sumyModule.myHandler. Il valore predefinito èindex.handler.
Nell'esempio seguente, il gestore Lambda principale originale è
index.js, quindi non è necessario impostare la variabile di ambiente LAMBDA_HANDLER.
Nell'esempio seguente, il gestore Lambda principale originale è
server.js, pertanto è necessario impostare la variabile di ambiente LAMBDA_HANDLER suserver.handler.
È possibile ottenere i valori corretti per queste variabili d'ambiente anche accedendo all'installazione di Instana, facendo clic su... Altro -> Agenti -> Installazione degli agenti Instana -> Piattaforma: AWS -> Tecnologia: AWS Lambda.
Salva la definizione della funzione Lambda.

Tutte le operazioni descritte in precedenza possono essere eseguite tramite la console web di AWS o uno qualsiasi dei consueti strumenti di gestione di AWS, come ad esempio:
- l' interfaccia a riga di comando
aws - il framework serverless cli
- il kit di sviluppo per il cloud AWS
Ecco un esempio di comando CLI di aws che può servire come punto di partenza se si vuole automatizzare l'integrazione di Instana con i lambda di 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 \
--handler instana-aws-lambda-auto-wrap.handler \
--environment ""Variables={INSTANA_ENDPOINT_URL=... , INSTANA_AGENT_KEY=... , ...}""
Installare manualmente @instana/aws-lambda
Invece di usare il livello Lambda di Instana, si può anche scegliere di installare manualmente il pacchetto npm @instana/aws-lambda :
- Aggiungere la dipendenza
@instana/aws-lambdaal progetto eseguendonpm install -S @instana/aws-lambda(oyarn add @instana/aws-lambda) nella directory del progetto. Questo aggiungerà il pacchetto alla cartellanode_modulese salverà la dipendenza nel filepackage.json. - Aggiungere le variabili d'ambiente
INSTANA_ENDPOINT_URLeINSTANA_AGENT_KEYcon i valori richiesti. - Modificare il codice della funzione secondo quanto indicato nella sezione Avvolgimento manuale del gestore.
Avvolgere manualmente il gestore
Se non si vuole o non si vuole usare il gestore di auto-wrap, è necessario modificare leggermente il codice della funzione Lambda Node.js AWS per abilitare il tracciamento di Instana.
@instana/aws-lambda (o tutte le dipendenze) dal preprocesso di webpack. Vedere questa sezione nella documentazione di Node.js; per il framework Serverless, consultare anche la sezione Framework Serverless.- Aggiungere la riga
const instana = require('@instana/aws-lambda');all'inizio del file del gestore JavaScript. - Avvolgere la funzione del gestore in una chiamata a
instana.wrap(). - Configurare le variabili d'ambiente per la connessione al backend di Instana come descritto nella documentazione di Instana AutoTrace per AWS Lambda.
Ecco alcuni esempi prima/dopo dei diversi stili di funzione del gestore che possono essere utilizzati per i lambda Node.js basati su AWS :
Gestore stile funzione asincrona
Se si utilizza una funzione async come gestore, il risultato dovrebbe essere simile a questo:
exports.handler = async (event, context) => {
// your code
};
Il codice risultante dovrebbe assomigliare a questo:
const instana = require('@instana/aws-lambda');
exports.handler = instana.wrap(async (event, context) => {
// your code
}); // <- don't forget the closing ) for the instana.wrap(
Gestore di lambda in stile promessa
Se si utilizza un gestore di tipo promise, dovrebbe essere simile a questo:
exports.handler = (event, context) => {
// your code, which returns a promise
};
Il codice risultante dovrebbe assomigliare a questo:
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(
Gestore lambda in stile callback
Se si utilizza un gestore di tipo callback, dovrebbe essere simile a questo:
exports.handler = (event, context, callback) => {
// your code
};
Il codice risultante dovrebbe assomigliare a questo:
const instana = require('@instana/aws-lambda');
exports.handler = instana.wrap((event, context, callback) => {
// your code
}); // <- don't forget the closing ) for the instana.wrap(
Oggetto di configurazione
È anche possibile passare un oggetto di configurazione opzionale come primo argomento quando si avvolge il proprio gestore:
exports.handler = instana.wrap({
// ... your configuration, for example:
tracing: {
stackTraceLength: 10
}
},
async (event, context) => {
// your code
});
I valori di configurazione che non sono supportati nel tracciamento Lambda nativo (come agentHost, agentPort e reportUnhandledPromiseRejections) vengono ignorati silenziosamente.
Si noti che si possono usare anche le variabili d'ambiente elencate nella sezione Variabili d'ambiente aggiuntive e la maggior parte di quelle elencate nella pagina di configurazione Node.js.
Strato Instana Lambda per funzioni basate su container
Se il vostro team utilizza distribuzioni Lambda basate su container, potete usare i nostri container di base su icr.io/instana/aws-lambda-nodejs o includere il seguente snippet nel vostro file Docker e impostare gli argomenti del tempo di compilazione sulle versioni appropriate.
Attualmente Instana supporta solo l'architettura x86_64 .
Questa immagine non è destinata all'uso in ambienti 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" ]
Al posto di icr.io/instana/aws-lambda-nodejs:latest, si può anche usare una versione specifica del modulo npm Instana @instana/aws-lambda maggiore o uguale a 1.137.2 (vedere CHANGELOG ), quindi ad esempio:
FROM icr.io/instana/aws-lambda-nodejs:1.140.1 as instana-layer
Oppure si può bloccare solo la versione principale, consentendo però le versioni minori/patch più recenti:
FROM icr.io/instana/aws-lambda-nodejs:1 as instana-layer
icr.io/instana/aws-lambda-nodejs abbandoneranno il supporto per i vecchi runtime Lambda Node.js. Ad esempio, a partire dalla versione icr.io/instana/aws-lambda-nodejs:2.0.0, il supporto per nodejs8.x sarà abbandonato. Si consiglia di selezionare la versione principale quando si utilizzano runtime Lambda meno recenti.Integrazione di Instana Tracing con il framework Serverless
Modificare il sito serverless.yml per integrare il tracciamento di Instana con il framework Serverless. Seguire i passaggi:
Copiare l' ARN del livello dall'elenco e aggiungere l'ARN alla sezione dei livelli della definizione della funzione di destinazione.
Aggiungere le variabili d'ambiente
INSTANA_AGENT_KEY,INSTANA_ENDPOINT_URLeLAMBDA_HANDLER. Per ulteriori informazioni, vedere Configurazione di Instana AutoTrace.
Si veda il seguente esempio 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
Offline senza server
Prerequisito: Assicurarsi di aver seguito i passi 1 e 2 della sezione Integrazione di Instana Tracing con Serverless Framework.
Modificare il file serverless.yml per interconnettere Instana con Serverless Framework e Serverless Offline. Seguire i passaggi:
- Impostate la variabile d'ambiente
NODE_PATHcome$NODE_PATH:/opt/nodejs/node_modules. - Impostare
useDockeril campo datruenella sezionecustom. Quindi il livello Instana verrà scaricato automaticamente in un contenitore Docker.
Si veda il seguente esempio 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 senza server
Prerequisito: Assicurarsi di aver seguito i passi 1 e 2 della sezione Integrazione di Instana Tracing con Serverless Framework.
Modificare il file serverless.yml per interconnettere Instana con Serverless Framework e Serverless Webpack.
Aggiungere entrypoint alla definizione della funzione Lambda di destinazione. Il punto di ingresso è il gestore Lambda originale di Node.js, che viene attivato automaticamente dal livello Instana Lambda. Per ulteriori informazioni, vedere Configurazione di Instana AutoTrace.
Si veda il seguente esempio 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
Note:
È necessario utilizzare l'ultima versione di
serverless-webpack.Si consiglia di utilizzare AWS System Manager Parameter Store (SSM) per serverless per evitare di inserire la chiave semplice dell'agente Instana in
serverless.yml. Per ulteriori informazioni, consultare il blog Serverless Framework.
Strati lambda Instana
Il livello Node.js include l' estensione Instana AWS Lambda. I dati di monitoraggio e le tracce vengono scaricati localmente all'estensione Instana Lambda, che li inoltra al backend di Instana. Questa caratteristica offre il seguente vantaggio: la funzione Lambda risponde al client che l'ha invocata subito dopo il termine del gestore, senza attendere l'invio dei dati al backend di Instana.
Questa funzione è limitata alle funzioni Lambda configurate con una memoria di almeno 256 MB. È possibile disabilitare l'estensione Instana Lambda impostando la variabile d'ambiente INSTANA_DISABLE_LAMBDA_EXTENSION a una stringa non vuota per la funzione Lambda.
us-gov-west-1 e us-gov-east-1). Se si vuole usare Instana nelle regioni GovCloud, è necessario installare manualmente il pacchetto Instana Node.js @instana/aws-lambda e avvolgere la funzione di gestione come descritto nella sezione Installazione manuale di @instana/aws-lambda.Architettura x86_64
Gli ARN dell'ultima versione dei livelli AWS Lambda per i runtime Lambda elencati in Runtime supportati sono i seguenti, per regione:
| Regione | ARN | @instana/aws-lambda Versione |
|---|---|---|
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 |
Cioè, il modello è arn:aws:lambda:${region}:410797082306:layer:instana-nodejs:${layer-version} (o arn:aws-cn:lambda:${region}:107998019096:layer:instana-nodejs:${layer-version} per le regioni AWS della Cina).
Assicuratevi di utilizzare sempre le versioni più recenti e di aggiornare la versione del layer che state utilizzando a intervalli regolari per beneficiare delle nuove funzionalità e delle correzioni che forniamo quando pubblichiamo una nuova versione del layer.
Architettura arm64
| Regione | ARN | @instana/aws-lambda Versione |
|---|---|---|
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 |
Supporto SSM
Disponibile dalla versione 99 dello strato instana-nodejs/@instana/aws-lambda@1.138.0.
È possibile fornire la chiave dell'agente Instana anche tramite il Parameter Store di AWS SSM ( System Manager ).
- Aggiungere la chiave agente Instana all'archivio dei parametri SSM. Ricordare o copiare il nome del parametro.
- Rimuovere
INSTANA_AGENT_KEYdalle variabili d'ambiente. - Aggiungere
INSTANA_SSM_PARAM_NAMEalle variabili d'ambiente con il nome del parametro copiato. - Se il parametro è stato aggiunto come "SecureString",, è necessario impostare anche
INSTANA_SSM_DECRYPTION=true. Se si è utilizzato il tipo "String", non è necessario impostare alcuna variabile aggiuntiva.
Utilizzo dell'API Instana nelle funzioni Lambda
È possibile accedere e utilizzare l'intera API Instana nel codice Lambda, proprio come in una semplice app Node.js vanilla che utilizza @instana/collector.
Se si utilizza il livello Lambda di Instana Node.js e il gestore di auto-wrap, è necessario aggiungere la seguente riga al codice:
const instana = require('@instana/aws-lambda');
Se si utilizza il wrapping manuale, questa riga è già presente nel file del gestore Lambda.
@instana/aws-lambda come dipendenza al file package.json . Questo pacchetto è fornito dal livello Instana Node.js Lambda. L'aggiunta come dipendenza mentre si utilizza anche il livello Lambda non è supportata.Se il codice della funzione Lambda è composto da più file sorgenti, è possibile aggiungere l'istruzione const instana = require('@instana/aws-lambda'); anche in altri file di codice sorgente per ottenere l'accesso all'API Instana Node.js.
Variabili d'ambiente aggiuntive
| Nome | Predefinito | Valore | Descrizione |
|---|---|---|---|
INSTANA_DISABLE_LAMBDA_EXTENSION |
false |
Qualsiasi stringa non vuota. | Disattivare o meno l'estensione lambda. |
INSTANA_ENABLE_LAMBDA_TIMEOUT_DETECTION |
false |
true oppure false |
La funzione è disabilitata per impostazione predefinita, perché l'esecuzione di un gestore di timeout potrebbe avvenire in un'altra esecuzione. Utilizzarlo solo per il debug. L'abilitazione può avere conseguenze indesiderate. Quindi, abilitatela a vostro rischio e pericolo. |
INSTANA_MINIMUM_LAMBDA_TIMEOUT_FOR_TIMEOUT_DETECTION_IN_MS |
2.000 $ | Timeout in millisecondi | Aumenta il rilevamento del timeout minimo in millisecondi. |
INSTANA_DEBUG |
false |
true oppure false |
Abilita la modalità di debug. |
INSTANA_TIMEOUT |
1000 |
Numero | Timeout per l'invio di dati al backend di Instana, in millisecondi. |