Abilitazione delle applicazioni su Lambda
È possibile abilitare Application Signals per le funzioni Lambda. Application Signals instrumenta automaticamente le funzioni Lambda utilizzando le librerie AWS Distro per OpenTelemetry (ADOT) avanzate, fornite tramite un livello Lambda. Questo livello AWS Lambda per OpenTelemetry impacchetta e implementa le librerie necessarie per l'instrumentazione automatica per Application Signals.
Oltre a supportare Application Signals, questo livello Lambda è anche un componente del supporto OpenTelemetry per Lambda e fornisce funzionalità di tracciamento.
È possibile migliorare l'osservabilità di Lambda anche utilizzando la ricerca delle transazioni, che consente di acquisire intervalli di traccia per l'invocazione della funzione Lambda senza campionamento. Questa funzionalità consente di raccogliere intervalli per le funzioni, indipendentemente dal flag sampled nella propagazione del contesto di traccia. Ciò garantisce che non vi sia alcun impatto aggiuntivo sui servizi dipendenti a valle. Abilitando la ricerca delle transazioni su Lambda, ottieni una visibilità completa sulle prestazioni delle tue funzioni e puoi risolvere i problemi che si verificano raramente. Per iniziare, consulta Transaction Search
Argomenti
Nozioni di base
Esistono tre metodi per abilitare Application Signals per le funzioni Lambda.
Dopo aver abilitato Application Signals per una funzione Lambda, occorrono alcuni minuti prima che la telemetria di tale funzione venga visualizzata nella console Application Signals.
-
Utilizzo della console CloudWatch Application Signals
-
Utilizzo della console Lambda
-
Aggiungi manualmente il livello AWS Lambda per OpenTelemetry al runtime della funzione Lambda.
Ognuno di questi metodi aggiunge il livello AWS Lambda per OpenTelemetry alla tua funzione.
Utilizzo della console CloudWatch Application Signals
Segui questi passaggi per utilizzare la console Application Signals per abilitare Application Signals per una funzione Lambda.
Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nel riquadro di navigazione, scegli Application Signals, Servizi.
-
Nell'area dell'elenco dei Servizi, scegli Abilita Application Signals.
-
Scegli il titolo Lambda.
-
Seleziona ogni funzione che desideri abilitare per Application Signals, quindi scegli Fine.
Utilizzo della console Lambda
Segui questi passaggi per utilizzare la console Lambda per abilitare Application Signals per una funzione Lambda.
Apri la console AWS Lambda all'indirizzo https://console.aws.amazon.com/lambda/
. -
Nel pannello di navigazione, scegli Funzioni, quindi scegli il nome della funzione che desideri abilitare.
-
Scegli la scheda Configurazione e quindi Strumenti di monitoraggio e operazioni.
-
Scegli Modifica.
-
Nella sezione CloudWatch Application Signals e X-Ray, seleziona sia Raccogli automaticamente le tracce delle applicazioni e le metriche standard delle applicazioni con Application Signals sia Raccogli automaticamente le tracce del servizio Lambda per la visibilità end-to-end con X-Ray.
-
Scegli Save (Salva).
Abilitazione di Application Signals su Lambda utilizzando AWS CDK
Se non hai ancora abilitato Application Signals in questo account, devi concedere ad Application Signals le autorizzazioni necessarie per scoprire i tuoi servizi. Per ulteriori informazioni, consulta Abilitazione di Application Signals in un account.
-
Abilitazione di Application Signals per le applicazioni
import { aws_applicationsignals as applicationsignals } from 'aws-cdk-lib'; const cfnDiscovery = new applicationsignals.CfnDiscovery(this, 'ApplicationSignalsServiceRole', { } );La risorsa Discovery CloudFormation concede ad Application Signals le seguenti autorizzazioni:
-
xray:GetServiceGraph -
logs:StartQuery -
logs:GetQueryResults -
cloudwatch:GetMetricData -
cloudwatch:ListMetrics -
tag:GetResources
Per ulteriori informazioni su questo ruolo, consulta Autorizzazioni di ruolo collegate al servizio per CloudWatch Application Signals.
-
-
Aggiungi la policy IAM
CloudWatchLambdaApplicationSignalsExecutionRolePolicyalla funzione Lambda.const fn = new Function(this, 'DemoFunction', { code: Code.fromAsset('$YOUR_LAMBDA.zip'), runtime: Runtime.PYTHON_3_12, handler: '$YOUR_HANDLER' }) fn.role?.addManagedPolicy(ManagedPolicy.fromAwsManagedPolicyName('CloudWatchLambdaApplicationSignalsExecutionRolePolicy')); -
Sostituisci
$AWS_LAMBDA_LAYER_FOR_OTEL_ARNcon l'effettivo ARN del livello AWS Lambda per OpenTelemetry nella Regione corrispondente.fn.addLayers(LayerVersion.fromLayerVersionArn( this, 'AwsLambdaLayerForOtel', '$AWS_LAMBDA_LAYER_FOR_OTEL_ARN' )) fn.addEnvironment("AWS_LAMBDA_EXEC_WRAPPER", "/opt/otel-instrument");
(Facoltativo) Monitoraggio dell'integrità delle applicazioni
Dopo aver abilitato le applicazioni su Lambda, è possibile monitorarne l'integrità. Per ulteriori informazioni, consulta Monitoraggio dell'integrità operativa delle applicazioni con Application Signals.
Abilita manualmente Application Signals.
Segui questi passaggi per abilitare manualmente Application Signals per una funzione Lambda.
-
Aggiungi il livello AWS Lambda per OpenTelemetry al runtime Lambda. Per trovare l'ARN del livello, consulta ARN del livello AWS Lambda per OpenTelemetry.
-
Aggiunta della variabile di ambiente
AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-instrumentAggiungi la variabile di ambiente
LAMBDA_APPLICATION_SIGNALS_REMOTE_ENVIRONMENTper configurare ambienti Lambda personalizzati. Per impostazione predefinita, gli ambienti Lambda sono configurati perlambda:default. -
Collega la policy IAM gestita da AWS CloudWatchLambdaApplicationSignalsExecutionRolePolicy al ruolo di esecuzione Lambda.
-
(Facoltativo) Ti consigliamo di abilitare il tracciamento attivo Lambda per ottenere un'esperienza di tracciamento migliore. Per ulteriori informazioni, consulta Visualize Lambda function invocations using AWS X-Ray.
Disabilitazione manuale di Application Signals
Per disabilitare manualmente Application Signals per una funzione Lambda, rimuovi il livello AWS Lambda per OpenTelemetry dal runtime Lambda e la variabile di ambiente AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-instrument.
Configurazione di Application Signals
Puoi utilizzare questa sezione per configurare Application Signals in Lambda.
Raggruppamento di più funzioni Lambda in un unico servizio
La variabile di ambiente OTEL_SERVICE_NAME imposta il nome del servizio. Questo verrà visualizzato come nome del servizio per l'applicazione nei pannelli di controllo di Application Signals. Puoi assegnare lo stesso nome di servizio a più funzioni Lambda e queste verranno unite in un unico servizio in Application Signals. Se non si fornisce un valore per questa chiave, viene utilizzato il nome della funzione Lambda predefinito.
Campionamento
Per impostazione predefinita, la strategia di campionamento delle tracce è basata sui genitori. È possibile modificare la strategia di campionamento impostando le variabili di ambiente OTEL_TRACES_SAMPLER.
Ad esempio, imposta la frequenza di campionamento delle tracce al 30%.
OTEL_TRACES_SAMPLER=traceidratio OTEL_TRACES_SAMPLER_ARG=0.3
Per ulteriori informazioni, consulta OpenTelemetry Environment Variable Specification
Abilitazione di tutta l'instrumentazione della libreria
Per ridurre gli avvii a freddo di Lambda, per impostazione predefinita, solo l'instrumentazione dell'SDK AWS e HTTP è abilitata per Python, Node e Java. Puoi impostare delle variabili di ambiente per abilitare l'instrumentazione per altre librerie utilizzate nella tua funzione Lambda.
-
Python:
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=none -
Node:
OTEL_NODE_DISABLED_INSTRUMENTATIONS=none -
Java:
OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED=true
ARN del livello AWS Lambda per OpenTelemetry
Le tabelle seguenti elencano gli ARN per utilizzare il livello AWS Lambda per OpenTelemetry per ogni Regione in cui è supportato.
- Python
-
Regione ARN Stati Uniti orientali (Virginia settentrionale)
arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroPython:18Stati Uniti orientali (Ohio)
arn:aws:lambda:us-east-2:615299751070:layer:AWSOpenTelemetryDistroPython:15Stati Uniti occidentali (California settentrionale)
arn:aws:lambda:us-west-1:615299751070:layer:AWSOpenTelemetryDistroPython:22Stati Uniti occidentali (Oregon)
arn:aws:lambda:us-west-2:615299751070:layer:AWSOpenTelemetryDistroPython:22Africa (Città del Capo)
arn:aws:lambda:af-south-1:904233096616:layer:AWSOpenTelemetryDistroPython:12Asia Pacifico (Hong Kong)
arn:aws:lambda:ap-east-1:888577020596:layer:AWSOpenTelemetryDistroPython:12Asia Pacific (Hyderabad)
arn:aws:lambda:ap-south-2:796973505492:layer:AWSOpenTelemetryDistroPython:12Asia Pacifico (Giacarta)
arn:aws:lambda:ap-southeast-3:039612877180:layer:AWSOpenTelemetryDistroPython:12Asia Pacifico (Melbourne)
arn:aws:lambda:ap-southeast-4:713881805771:layer:AWSOpenTelemetryDistroPython:12Asia Pacifico (Malesia)
arn:aws:lambda:ap-southeast-5:152034782359:layer:AWSOpenTelemetryDistroPython:3Asia Pacifico (Thailandia)
arn:aws:lambda:ap-southeast-7:980416031188:layer:AWSOpenTelemetryDistroPython:3Asia Pacifico (Mumbai)
arn:aws:lambda:ap-south-1:615299751070:layer:AWSOpenTelemetryDistroPython:15Asia Pacific (Osaka)
arn:aws:lambda:ap-northeast-3:615299751070:layer:AWSOpenTelemetryDistroPython:14Asia Pacific (Seul)
arn:aws:lambda:ap-northeast-2:615299751070:layer:AWSOpenTelemetryDistroPython:15Asia Pacifico (Singapore)
arn:aws:lambda:ap-southeast-1:615299751070:layer:AWSOpenTelemetryDistroPython:14Asia Pacifico (Sydney)
arn:aws:lambda:ap-southeast-2:615299751070:layer:AWSOpenTelemetryDistroPython:15Asia Pacifico (Tokyo)
arn:aws:lambda:ap-northeast-1:615299751070:layer:AWSOpenTelemetryDistroPython:15Canada (Centrale)
arn:aws:lambda:ca-central-1:615299751070:layer:AWSOpenTelemetryDistroPython:15Canada occidentale (Calgary)
arn:aws:lambda:ca-west-1:595944127152:layer:AWSOpenTelemetryDistroPython:3Europa (Francoforte)
arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroPython:15Europa (Irlanda)
arn:aws:lambda:eu-west-1:615299751070:layer:AWSOpenTelemetryDistroPython:15Europa (Londra)
arn:aws:lambda:eu-west-2:615299751070:layer:AWSOpenTelemetryDistroPython:15Europa (Milano)
arn:aws:lambda:eu-south-1:257394471194:layer:AWSOpenTelemetryDistroPython:12Europa (Parigi)
arn:aws:lambda:eu-west-3:615299751070:layer:AWSOpenTelemetryDistroPython:15Europa (Spagna)
arn:aws:lambda:eu-south-2:490004653786:layer:AWSOpenTelemetryDistroPython:12Europa (Stoccolma)
arn:aws:lambda:eu-north-1:615299751070:layer:AWSOpenTelemetryDistroPython:15Europa (Zurigo)
arn:aws:lambda:eu-central-2:156041407956:layer:AWSOpenTelemetryDistroPython:12Israele (Tel Aviv)
arn:aws:lambda:il-central-1:746669239226:layer:AWSOpenTelemetryDistroPython:12Medio Oriente (Bahrein)
arn:aws:lambda:me-south-1:980921751758:layer:AWSOpenTelemetryDistroPython:12Medio Oriente (EAU)
arn:aws:lambda:me-central-1:739275441131:layer:AWSOpenTelemetryDistroPython:12Sud America (San Paolo)
arn:aws:lambda:sa-east-1:615299751070:layer:AWSOpenTelemetryDistroPython:15Messico (centrale)
arn:aws:lambda:mx-central-1:610118373846:layer:AWSOpenTelemetryDistroPython:3 - Node.js
-
Regione ARN Stati Uniti orientali (Virginia settentrionale)
arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Stati Uniti orientali (Ohio)
arn:aws:lambda:us-east-2:615299751070:layer:AWSOpenTelemetryDistroJs:9Stati Uniti occidentali (California settentrionale)
arn:aws:lambda:us-west-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Stati Uniti occidentali (Oregon)
arn:aws:lambda:us-west-2:615299751070:layer:AWSOpenTelemetryDistroJs:9Africa (Città del Capo)
arn:aws:lambda:af-south-1:904233096616:layer:AWSOpenTelemetryDistroJs:9Asia Pacifico (Hong Kong)
arn:aws:lambda:ap-east-1:888577020596:layer:AWSOpenTelemetryDistroJs:9Asia Pacific (Hyderabad)
arn:aws:lambda:ap-south-2:796973505492:layer:AWSOpenTelemetryDistroJs:9Asia Pacifico (Giacarta)
arn:aws:lambda:ap-southeast-3:039612877180:layer:AWSOpenTelemetryDistroJs:9Asia Pacifico (Melbourne)
arn:aws:lambda:ap-southeast-4:713881805771:layer:AWSOpenTelemetryDistroJs:9Asia Pacifico (Malesia)
arn:aws:lambda:ap-southeast-5:152034782359:layer:AWSOpenTelemetryDistroJs:2Asia Pacifico (Thailandia)
arn:aws:lambda:ap-southeast-7:980416031188:layer:AWSOpenTelemetryDistroJs:2Asia Pacifico (Mumbai)
arn:aws:lambda:ap-south-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Asia Pacific (Osaka)
arn:aws:lambda:ap-northeast-3:615299751070:layer:AWSOpenTelemetryDistroJs:9Asia Pacific (Seul)
arn:aws:lambda:ap-northeast-2:615299751070:layer:AWSOpenTelemetryDistroJs:9Asia Pacifico (Singapore)
arn:aws:lambda:ap-southeast-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Asia Pacifico (Sydney)
arn:aws:lambda:ap-southeast-2:615299751070:layer:AWSOpenTelemetryDistroJs:9Asia Pacifico (Tokyo)
arn:aws:lambda:ap-northeast-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Canada (Centrale)
arn:aws:lambda:ca-central-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Canada occidentale (Calgary)
arn:aws:lambda:ca-west-1:595944127152:layer:AWSOpenTelemetryDistroJs:2Europa (Francoforte)
arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Europa (Irlanda)
arn:aws:lambda:eu-west-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Europa (Londra)
arn:aws:lambda:eu-west-2:615299751070:layer:AWSOpenTelemetryDistroJs:9Europa (Milano)
arn:aws:lambda:eu-south-1:257394471194:layer:AWSOpenTelemetryDistroJs:9Europa (Parigi)
arn:aws:lambda:eu-west-3:615299751070:layer:AWSOpenTelemetryDistroJs:9Europa (Spagna)
arn:aws:lambda:eu-south-2:490004653786:layer:AWSOpenTelemetryDistroJs:9Europa (Stoccolma)
arn:aws:lambda:eu-north-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Europa (Zurigo)
arn:aws:lambda:eu-central-2:156041407956:layer:AWSOpenTelemetryDistroJs:9Israele (Tel Aviv)
arn:aws:lambda:il-central-1:746669239226:layer:AWSOpenTelemetryDistroJs:9Medio Oriente (Bahrein)
arn:aws:lambda:me-south-1:980921751758:layer:AWSOpenTelemetryDistroJs:9Medio Oriente (EAU)
arn:aws:lambda:me-central-1:739275441131:layer:AWSOpenTelemetryDistroJs:9Sud America (San Paolo)
arn:aws:lambda:sa-east-1:615299751070:layer:AWSOpenTelemetryDistroJs:9Messico (centrale)
arn:aws:lambda:mx-central-1:610118373846:layer:AWSOpenTelemetryDistroJs:2 - .Net
-
Regione ARN Stati Uniti orientali (Virginia settentrionale)
arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:6Stati Uniti orientali (Ohio)
arn:aws:lambda:us-east-2:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Stati Uniti occidentali (California settentrionale)
arn:aws:lambda:us-west-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Stati Uniti occidentali (Oregon)
arn:aws:lambda:us-west-2:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Africa (Città del Capo)
arn:aws:lambda:af-south-1:904233096616:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacifico (Hong Kong)
arn:aws:lambda:ap-east-1:888577020596:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacific (Hyderabad)
arn:aws:lambda:ap-south-2:796973505492:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacifico (Giacarta)
arn:aws:lambda:ap-southeast-3:039612877180:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacifico (Melbourne)
arn:aws:lambda:ap-southeast-4:713881805771:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacifico (Malesia)
arn:aws:lambda:ap-southeast-5:152034782359:layer:AWSOpenTelemetryDistroDotNet:1Asia Pacifico (Thailandia)
arn:aws:lambda:ap-southeast-7:980416031188:layer:AWSOpenTelemetryDistroDotNet:1Asia Pacifico (Mumbai)
arn:aws:lambda:ap-south-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacific (Osaka)
arn:aws:lambda:ap-northeast-3:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacific (Seul)
arn:aws:lambda:ap-northeast-2:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacifico (Singapore)
arn:aws:lambda:ap-southeast-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacifico (Sydney)
arn:aws:lambda:ap-southeast-2:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Asia Pacifico (Tokyo)
arn:aws:lambda:ap-northeast-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Canada (Centrale)
arn:aws:lambda:ca-central-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Canada occidentale (Calgary)
arn:aws:lambda:ca-west-1:595944127152:layer:AWSOpenTelemetryDistroDotNet:1Europa (Francoforte)
arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Europa (Irlanda)
arn:aws:lambda:eu-west-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Europa (Londra)
arn:aws:lambda:eu-west-2:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Europa (Milano)
arn:aws:lambda:eu-south-1:257394471194:layer:AWSOpenTelemetryDistroDotNet:5Europa (Parigi)
arn:aws:lambda:eu-west-3:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Europa (Spagna)
arn:aws:lambda:eu-south-2:490004653786:layer:AWSOpenTelemetryDistroDotNet:5Europa (Stoccolma)
arn:aws:lambda:eu-north-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Europa (Zurigo)
arn:aws:lambda:eu-central-2:156041407956:layer:AWSOpenTelemetryDistroDotNet:5Israele (Tel Aviv)
arn:aws:lambda:il-central-1:746669239226:layer:AWSOpenTelemetryDistroDotNet:5Medio Oriente (Bahrein)
arn:aws:lambda:me-south-1:980921751758:layer:AWSOpenTelemetryDistroDotNet:5Medio Oriente (EAU)
arn:aws:lambda:me-central-1:739275441131:layer:AWSOpenTelemetryDistroDotNet:5Sud America (San Paolo)
arn:aws:lambda:sa-east-1:615299751070:layer:AWSOpenTelemetryDistroDotNet:5Messico (centrale)
arn:aws:lambda:mx-central-1:610118373846:layer:AWSOpenTelemetryDistroDotNet:1 - Java
-
Regione ARN Stati Uniti orientali (Virginia settentrionale)
arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Stati Uniti orientali (Ohio)
arn:aws:lambda:us-east-2:615299751070:layer:AWSOpenTelemetryDistroJava:5Stati Uniti occidentali (California settentrionale)
arn:aws:lambda:us-west-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Stati Uniti occidentali (Oregon)
arn:aws:lambda:us-west-2:615299751070:layer:AWSOpenTelemetryDistroJava:5Africa (Città del Capo)
arn:aws:lambda:af-south-1:904233096616:layer:AWSOpenTelemetryDistroJava:5Asia Pacifico (Hong Kong)
arn:aws:lambda:ap-east-1:888577020596:layer:AWSOpenTelemetryDistroJava:5Asia Pacific (Hyderabad)
arn:aws:lambda:ap-south-2:796973505492:layer:AWSOpenTelemetryDistroJava:5Asia Pacifico (Giacarta)
arn:aws:lambda:ap-southeast-3:039612877180:layer:AWSOpenTelemetryDistroJava:5Asia Pacifico (Melbourne)
arn:aws:lambda:ap-southeast-4:713881805771:layer:AWSOpenTelemetryDistroJava:5Asia Pacifico (Malesia)
arn:aws:lambda:ap-southeast-5:152034782359:layer:AWSOpenTelemetryDistroJava:2Asia Pacifico (Thailandia)
arn:aws:lambda:ap-southeast-7:980416031188:layer:AWSOpenTelemetryDistroJava:2Asia Pacifico (Mumbai)
arn:aws:lambda:ap-south-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Asia Pacific (Osaka)
arn:aws:lambda:ap-northeast-3:615299751070:layer:AWSOpenTelemetryDistroJava:5Asia Pacific (Seul)
arn:aws:lambda:ap-northeast-2:615299751070:layer:AWSOpenTelemetryDistroJava:5Asia Pacifico (Singapore)
arn:aws:lambda:ap-southeast-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Asia Pacifico (Sydney)
arn:aws:lambda:ap-southeast-2:615299751070:layer:AWSOpenTelemetryDistroJava:5Asia Pacifico (Tokyo)
arn:aws:lambda:ap-northeast-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Canada (Centrale)
arn:aws:lambda:ca-central-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Canada occidentale (Calgary)
arn:aws:lambda:ca-west-1:595944127152:layer:AWSOpenTelemetryDistroJava:2Europa (Francoforte)
arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Europa (Irlanda)
arn:aws:lambda:eu-west-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Europa (Londra)
arn:aws:lambda:eu-west-2:615299751070:layer:AWSOpenTelemetryDistroJava:5Europa (Milano)
arn:aws:lambda:eu-south-1:257394471194:layer:AWSOpenTelemetryDistroJava:5Europa (Parigi)
arn:aws:lambda:eu-west-3:615299751070:layer:AWSOpenTelemetryDistroJava:5Europa (Spagna)
arn:aws:lambda:eu-south-2:490004653786:layer:AWSOpenTelemetryDistroJava:5Europa (Stoccolma)
arn:aws:lambda:eu-north-1:615299751070:layer:AWSOpenTelemetryDistroJava:5Europa (Zurigo)
arn:aws:lambda:eu-central-2:156041407956:layer:AWSOpenTelemetryDistroJava:5Israele (Tel Aviv)
arn:aws:lambda:il-central-1:746669239226:layer:AWSOpenTelemetryDistroJava:5Medio Oriente (Bahrein)
arn:aws:lambda:me-south-1:980921751758:layer:AWSOpenTelemetryDistroJava:5Medio Oriente (EAU)
arn:aws:lambda:me-central-1:739275441131:layer:AWSOpenTelemetryDistroJava:5Messico (centrale)
arn:aws:lambda:mx-central-1:610118373846:layer:AWSOpenTelemetryDistroJava:2Sud America (San Paolo)
arn:aws:lambda:sa-east-1:615299751070:layer:AWSOpenTelemetryDistroJava:5
Implementazione delle funzioni Lambda utilizzando il container Amazon ECR
Le funzioni Lambda implementate come immagini di container non supportano i livelli Lambda nel modo tradizionale. Quando si utilizzano immagini di container, non è possibile collegare un livello come si farebbe con altri metodi di implementazione di Lambda. È invece necessario incorporare manualmente il contenuto del livello nell'immagine del container durante il processo di creazione.
- Java
-
Puoi ottenere informazioni su come integrare il livello AWS Lambda per OpenTelemetry nella tua funzione Lambda Java containerizzata, scaricare l'artefatto
layer.zipe integrarlo nel container della funzione Lambda Java per abilitare il monitoraggio di Application Signals.Prerequisiti
-
AWS CLI configurata con le tue credenziali
-
Docker installato
-
Queste istruzioni presuppongono l'utilizzo di una piattaforma x86_64
-
Impostazione della struttura del progetto
Creazione di una directory per la funzione Lambda
mkdir java-appsignals-container-lambda && \ cd java-appsignals-container-lambdaCreazione di una struttura di progetto Maven
mkdir -p src/main/java/com/example/java/lambda mkdir -p src/main/resources -
Creazione di un Dockerfile
Scarica e integra il livello OpenTelemetry con il supporto di Application Signals direttamente nell'immagine del container Lambda. A tale scopo, viene creato il file
Dockerfile.FROM public.ecr.aws/lambda/java:21 # Install utilities RUN dnf install -y unzip wget maven # Download the OpenTelemetry Layer with AppSignals Support RUN wget https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/layer.zip -O /tmp/layer.zip # Extract and include Lambda layer contents RUN mkdir -p /opt && \ unzip /tmp/layer.zip -d /opt/ && \ chmod -R 755 /opt/ && \ rm /tmp/layer.zip # Copy and build function code COPY pom.xml ${LAMBDA_TASK_ROOT} COPY src ${LAMBDA_TASK_ROOT}/src RUN mvn clean package -DskipTests # Copy the JAR file to the Lambda runtime directory (from inside the container) RUN mkdir -p ${LAMBDA_TASK_ROOT}/lib/ RUN cp ${LAMBDA_TASK_ROOT}/target/function.jar ${LAMBDA_TASK_ROOT}/lib/ # Set the handler CMD ["com.example.java.lambda.App::handleRequest"]Nota
Il file
layer.zipcontiene l'instrumentazione OpenTelemetry necessaria per il supporto di AWS Application Signals per monitorare la funzione Lambda.Le fasi di estrazione del livello garantiscono:
-
La corretta estrazione dei contenuti di layer.zip in
/opt/ directory -
La ricezione delle autorizzazioni di esecuzioni appropriate da parte dello script
otel-instrument -
La rimozione del file temporaneo layer.zip per ridurre le dimensioni dell'immagine
-
-
Codice funzione Lambda: crea un file Java per il tuo gestore Lambda all'indirizzo
src/main/java/com/example/lambda/App.java:Il progetto dovrebbe essere simile a questo: .
. ├── Dockerfile ├── pom.xml └── src └── main ├── java │ └── com │ └── example │ └── java │ └── lambda │ └── App.java └── resources -
Creazione e implementazione dell'immagine di container
Impostazione delle variabili di ambiente
AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) AWS_REGION=$(aws configure get region) # For fish shell users: # set AWS_ACCOUNT_ID (aws sts get-caller-identity --query Account --output text) # set AWS_REGION (aws configure get region)Autenticazione con ECR
Innanzitutto con ECR pubblico (per l'immagine di base):
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.awsQuindi con il tuo ECR privato:
aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com.rproxy.govskope.caCrea, aggiungi tag e invia un'immagine
# Build the Docker image docker build -t lambda-appsignals-demo . # Tag the image docker tag lambda-appsignals-demo:latest $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/lambda-appsignals-demo:latest # Push the image docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/lambda-appsignals-demo:latest -
Creazione e configurazione della funzione Lambda
Crea una nuova funzione utilizzando la console Lambda.
Seleziona Immagine del container come opzione di implementazione.
Scegli Sfoglia immagini per selezionare la tua immagine Amazon ECR.
-
Test e verifiche: testa la tua Lambda con un semplice evento. Se l'integrazione del livello ha esito positivo, la Lambda viene visualizzata nella mappa dei servizi di Application Signals.
Potrai visualizzare tracce e metriche relative alla funzione Lambda nella console CloudWatch.
Risoluzione dei problemi
Se Application Signals non funziona, verifica gli aspetti seguenti:
-
Controlla i log della funzione per eventuali errori relativi all'instrumentazione OpenTelemetry
-
Verifica se la variabile di ambiente
AWS_LAMBDA_EXEC_WRAPPERè impostata correttamente -
Assicurati che l'estrazione del livello nel file Docker sia stata completata correttamente
-
Verifica se le autorizzazioni IAM sono collegate correttamente
-
Se necessario, aumenta le impostazioni di Timeout e memoria nella configurazione generale della funzione Lambda
-
- .Net
-
Puoi ottenere informazioni su come integrare il livello OpenTelemetry con il supporto di Application Signals nella tua funzione Lambda .Net containerizzata, scaricare l'artefatto
layer.zipe integrarlo nel container della funzione Lambda .Net per abilitare il monitoraggio di Application Signals.Prerequisiti
-
AWS CLI configurata con le tue credenziali
-
Docker installato
-
SDK .Net 8
-
Queste istruzioni presuppongono l'utilizzo di una piattaforma x86_64
-
Impostazione della struttura del progetto
Creazione di una directory per l'immagine del container della funzione Lambda
mkdir dotnet-appsignals-container-lambda && \ cd dotnet-appsignals-container-lambda -
Creazione di un Dockerfile
Scarica e integra il livello OpenTelemetry con il supporto di Application Signals direttamente nell'immagine del container Lambda. A tale scopo, viene creato il file
Dockerfile.FROM public.ecr.aws/lambda/dotnet:8 # Install utilities RUN dnf install -y unzip wget dotnet-sdk-8.0 which # Add dotnet command to docker container's PATH ENV PATH="/usr/lib64/dotnet:${PATH}" # Download the OpenTelemetry Layer with AppSignals Support RUN wget https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/layer.zip -O /tmp/layer.zip # Extract and include Lambda layer contents RUN mkdir -p /opt && \ unzip /tmp/layer.zip -d /opt/ && \ chmod -R 755 /opt/ && \ rm /tmp/layer.zip WORKDIR ${LAMBDA_TASK_ROOT} # Copy the project files COPY dotnet-lambda-function/src/dotnet-lambda-function/*.csproj ${LAMBDA_TASK_ROOT}/ COPY dotnet-lambda-function/src/dotnet-lambda-function/Function.cs ${LAMBDA_TASK_ROOT}/ COPY dotnet-lambda-function/src/dotnet-lambda-function/aws-lambda-tools-defaults.json ${LAMBDA_TASK_ROOT}/ # Install dependencies and build the application RUN dotnet restore # Use specific runtime identifier and disable ReadyToRun optimization RUN dotnet publish -c Release -o out --self-contained false /p:PublishReadyToRun=false # Copy the published files to the Lambda runtime directory RUN cp -r out/* ${LAMBDA_TASK_ROOT}/ CMD ["dotnet-lambda-function::dotnet_lambda_function.Function::FunctionHandler"]Nota
Il file
layer.zipcontiene l'instrumentazione OpenTelemetry necessaria per il supporto di AWS Application Signals per monitorare la funzione Lambda.Le fasi di estrazione del livello garantiscono:
-
La corretta estrazione dei contenuti di layer.zip in
/opt/ directory -
La ricezione delle autorizzazioni di esecuzioni appropriate da parte dello script
otel-instrument -
La rimozione del file temporaneo layer.zip per ridurre le dimensioni dell'immagine
-
-
Codice della funzione Lambda: inizializza il tuo progetto Lambda utilizzando il modello AWS Lambda .NET:
# Install the Lambda templates if you haven't already dotnet new -i Amazon.Lambda.Templates # Create a new Lambda project dotnet new lambda.EmptyFunction -n dotnet-lambda-functionIl progetto dovrebbe essere simile a questo: .
. ├── Dockerfile └── dotnet-lambda-function ├── src │ └── dotnet-lambda-function │ ├── Function.cs │ ├── Readme.md │ ├── aws-lambda-tools-defaults.json │ └── dotnet-lambda-function.csproj └── test └── dotnet-lambda-function.Tests ├── FunctionTest.cs └── dotnet-lambda-function.Tests.csproj -
Creazione e implementazione dell'immagine di container
Impostazione delle variabili di ambiente
AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) AWS_REGION=$(aws configure get region) # For fish shell users: # set AWS_ACCOUNT_ID (aws sts get-caller-identity --query Account --output text) # set AWS_REGION (aws configure get region)Aggiorna il codice
Function.cscome segue:Aggiorna il codice
dotnet-lambda-function.csprojcome segue:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0>/TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> <AWSProjectType>Lambda</AWSProjectType> <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <PublishReadyToRun>true</PublishReadyToRun> </PropertyGroup> <ItemGroup> <PackageReference Include="Amazon.Lambda.Core" Version="2.5.0" /> <PackageReference Include="Amazon.Lambda.Serialization.SystemTextJson" Version="2.4.4" /> <PackageReference Include="AWSSDK.S3" Version="3.7.305.23" /> </ItemGroup> </Project> -
Creazione e implementazione dell'immagine di container
Impostazione delle variabili di ambiente
AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) AWS_REGION=$(aws configure get region) # For fish shell users: # set AWS_ACCOUNT_ID (aws sts get-caller-identity --query Account --output text) # set AWS_REGION (aws configure get region)Autenticazione con Amazon ECR pubblico
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.awsAutenticazione con Amazon ECR privato
aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com.rproxy.govskope.caCreazione di un repository Amazon ECR (se necessario)
aws ecr create-repository \ --repository-name lambda-appsignals-demo \ --region $AWS_REGIONCreazione, aggiunta di tag e invio di un'immagine
# Build the Docker image docker build -t lambda-appsignals-demo . # Tag the image docker tag lambda-appsignals-demo:latest $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/lambda-appsignals-demo:latest # Push the image docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/lambda-appsignals-demo:latest 5. Create and Configure the Lambda Function -
Creazione e configurazione della funzione Lambda
Crea una nuova funzione utilizzando la console Lambda.
Seleziona Immagine del container come opzione di implementazione.
Scegli Sfoglia immagini per selezionare la tua immagine Amazon ECR.
-
Test e verifiche: testa la tua Lambda con un semplice evento. Se l'integrazione del livello ha esito positivo, la Lambda viene visualizzata nella mappa dei servizi di Application Signals.
Potrai visualizzare tracce e metriche relative alla funzione Lambda nella console CloudWatch.
Risoluzione dei problemi
Se Application Signals non funziona, verifica gli aspetti seguenti:
-
Controlla i log della funzione per eventuali errori relativi all'instrumentazione OpenTelemetry
-
Verifica se la variabile di ambiente
AWS_LAMBDA_EXEC_WRAPPERè impostata correttamente -
Assicurati che l'estrazione del livello nel file Docker sia stata completata correttamente
-
Verifica se le autorizzazioni IAM sono collegate correttamente
-
Se necessario, aumenta le impostazioni di Timeout e memoria nella configurazione generale della funzione Lambda
-
- Node.js
-
Puoi ottenere informazioni su come integrare il livello OpenTelemetry con il supporto di Application Signals nella tua funzione Lambda Node.js containerizzata, scaricare l'artefatto
layer.zipe integrarlo nel container della funzione Lambda Node.js per abilitare il monitoraggio di Application Signals.Prerequisiti
-
AWS CLI configurata con le tue credenziali
-
Docker installato
-
Queste istruzioni presuppongono l'utilizzo di una piattaforma x86_64
-
Impostazione della struttura del progetto
Creazione di una directory per l'immagine del container della funzione Lambda
mkdir nodejs-appsignals-container-lambda &&\ cd nodejs-appsignals-container-lambda -
Creazione di un Dockerfile
Scarica e integra il livello OpenTelemetry con il supporto di Application Signals direttamente nell'immagine del container Lambda. A tale scopo, viene creato il file
Dockerfile.# Dockerfile FROM public.ecr.aws/lambda/nodejs:22 # Install utilities RUN dnf install -y unzip wget # Download the OpenTelemetry Layer with AppSignals Support RUN wget https://github.com/aws-observability/aws-otel-js-instrumentation/releases/latest/download/layer.zip -O /tmp/layer.zip # Extract and include Lambda layer contents RUN mkdir -p /opt && \ unzip /tmp/layer.zip -d /opt/ && \ chmod -R 755 /opt/ && \ rm /tmp/layer.zip # Install npm dependencies RUN npm init -y RUN npm install # Copy function code COPY *.js ${LAMBDA_TASK_ROOT}/ # Set the CMD to your handler CMD [ "index.handler" ]Nota
Il file
layer.zipcontiene l'instrumentazione OpenTelemetry necessaria per il supporto di AWS Application Signals per monitorare la funzione Lambda.Le fasi di estrazione del livello garantiscono:
-
La corretta estrazione dei contenuti di layer.zip in
/opt/ directory -
La ricezione delle autorizzazioni di esecuzioni appropriate da parte dello script
otel-instrument -
La rimozione del file temporaneo layer.zip per ridurre le dimensioni dell'immagine
-
-
Codice della funzione Lambda
Crea un file
index.jscon i seguenti contenuti:const { S3Client, ListBucketsCommand } = require('@aws-sdk/client-s3'); // Initialize S3 client const s3Client = new S3Client({ region: process.env.AWS_REGION }); exports.handler = async function(event, context) { console.log('Received event:', JSON.stringify(event, null, 2)); console.log('Handler initializing:', exports.handler.name); const response = { statusCode: 200, body: {} }; try { // List S3 buckets const command = new ListBucketsCommand({}); const data = await s3Client.send(command); // Extract bucket names const bucketNames = data.Buckets.map(bucket => bucket.Name); response.body = { message: 'Successfully retrieved buckets', buckets: bucketNames }; } catch (error) { console.error('Error listing buckets:', error); response.statusCode = 500; response.body = { message: `Error listing buckets: ${error.message}` }; } return response; };La struttura del progetto dovrebbe essere simile a questa:
. ├── Dockerfile └── index.js -
Creazione e implementazione dell'immagine di container
Impostazione delle variabili di ambiente
AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) AWS_REGION=$(aws configure get region) # For fish shell users: # set AWS_ACCOUNT_ID (aws sts get-caller-identity --query Account --output text) # set AWS_REGION (aws configure get region)Autenticazione con Amazon ECR pubblico
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.awsAutenticazione con Amazon ECR privato
aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com.rproxy.govskope.caCreazione di un repository Amazon ECR (se necessario)
aws ecr create-repository \ --repository-name lambda-appsignals-demo \ --region $AWS_REGIONCreazione, aggiunta di tag e invio di un'immagine
# Build the Docker image docker build -t lambda-appsignals-demo . # Tag the image docker tag lambda-appsignals-demo:latest $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/lambda-appsignals-demo:latest # Push the image docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/lambda-appsignals-demo:latest 5. Create and Configure the Lambda Function -
Creazione e configurazione della funzione Lambda
Crea una nuova funzione utilizzando la console Lambda.
Seleziona Immagine del container come opzione di implementazione.
Scegli Sfoglia immagini per selezionare la tua immagine Amazon ECR.
-
Test e verifiche: testa la tua Lambda con un semplice evento. Se l'integrazione del livello ha esito positivo, la Lambda viene visualizzata nella mappa dei servizi di Application Signals.
Potrai visualizzare tracce e metriche relative alla funzione Lambda nella console CloudWatch.
Risoluzione dei problemi
Se Application Signals non funziona, verifica gli aspetti seguenti:
-
Controlla i log della funzione per eventuali errori relativi all'instrumentazione OpenTelemetry
-
Verifica se la variabile di ambiente
AWS_LAMBDA_EXEC_WRAPPERè impostata correttamente -
Assicurati che l'estrazione del livello nel file Docker sia stata completata correttamente
-
Verifica se le autorizzazioni IAM sono collegate correttamente
-
Se necessario, aumenta le impostazioni di Timeout e memoria nella configurazione generale della funzione Lambda
-
- Python
-
Puoi ottenere informazioni su come integrare il livello OpenTelemetry con il supporto di Application Signals nella tua funzione Lambda Python containerizzata, scaricare l'artefatto
layer.zipe integrarlo nel container della funzione Lambda Python per abilitare il monitoraggio di Application Signals.Prerequisiti
-
AWS CLI configurata con le tue credenziali
-
Docker installato
-
Queste istruzioni presuppongono l'utilizzo di una piattaforma x86_64
-
Impostazione della struttura del progetto
Creazione di una directory per l'immagine del container della funzione Lambda
mkdir python-appsignals-container-lambda &&\ cd python-appsignals-container-lambda -
Creazione di un Dockerfile
Scarica e integra il livello OpenTelemetry con il supporto di Application Signals direttamente nell'immagine del container Lambda. A tale scopo, viene creato il file
Dockerfile.Nota
Il file
layer.zipcontiene l'instrumentazione OpenTelemetry necessaria per il supporto di AWS Application Signals per monitorare la funzione Lambda.Le fasi di estrazione del livello garantiscono:
-
La corretta estrazione dei contenuti di layer.zip in
/opt/ directory -
La ricezione delle autorizzazioni di esecuzioni appropriate da parte dello script
otel-instrument -
La rimozione del file temporaneo layer.zip per ridurre le dimensioni dell'immagine
-
-
Codice della funzione Lambda
Crea la funzione Lambda in un file
app.py:import json import boto3 def lambda_handler(event, context): """ Sample Lambda function that can be used in a container image. Parameters: ----------- event: dict Input event data context: LambdaContext Lambda runtime information Returns: __ dict Response object """ print("Received event:", json.dumps(event, indent=2)) # Create S3 client s3 = boto3.client('s3') try: # List buckets response = s3.list_buckets() # Extract bucket names buckets = [bucket['Name'] for bucket in response['Buckets']] return { 'statusCode': 200, 'body': json.dumps({ 'message': 'Successfully retrieved buckets', 'buckets': buckets }) } except Exception as e: print(f"Error listing buckets: {str(e)}") return { 'statusCode': 500, 'body': json.dumps({ 'message': f'Error listing buckets: {str(e)}' }) }La struttura del progetto dovrebbe essere simile a questa:
. ├── Dockerfile ├── app.py └── instructions.md -
Creazione e implementazione dell'immagine di container
Impostazione delle variabili di ambiente
AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) AWS_REGION=$(aws configure get region) # For fish shell users: # set AWS_ACCOUNT_ID (aws sts get-caller-identity --query Account --output text) # set AWS_REGION (aws configure get region)Autenticazione con Amazon ECR pubblico
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.awsAutenticazione con Amazon ECR privato
aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com.rproxy.govskope.caCreazione di un repository Amazon ECR (se necessario)
aws ecr create-repository \ --repository-name lambda-appsignals-demo \ --region $AWS_REGIONCreazione, aggiunta di tag e invio di un'immagine
# Build the Docker image docker build -t lambda-appsignals-demo . # Tag the image docker tag lambda-appsignals-demo:latest $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/lambda-appsignals-demo:latest # Push the image docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/lambda-appsignals-demo:latest 5. Create and Configure the Lambda Function -
Creazione e configurazione della funzione Lambda
Crea una nuova funzione utilizzando la console Lambda.
Seleziona Immagine del container come opzione di implementazione.
Scegli Sfoglia immagini per selezionare la tua immagine Amazon ECR.
-
Test e verifiche: testa la tua Lambda con un semplice evento. Se l'integrazione del livello ha esito positivo, la Lambda viene visualizzata nella mappa dei servizi di Application Signals.
Potrai visualizzare tracce e metriche relative alla funzione Lambda nella console CloudWatch.
Risoluzione dei problemi
Se Application Signals non funziona, verifica gli aspetti seguenti:
-
Controlla i log della funzione per eventuali errori relativi all'instrumentazione OpenTelemetry
-
Verifica se la variabile di ambiente
AWS_LAMBDA_EXEC_WRAPPERè impostata correttamente -
Assicurati che l'estrazione del livello nel file Docker sia stata completata correttamente
-
Verifica se le autorizzazioni IAM sono collegate correttamente
-
Se necessario, aumenta le impostazioni di Timeout e memoria nella configurazione generale della funzione Lambda
-