AWS X-Ray SDK per Node.js - AWS X-Ray

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS X-Ray SDK per Node.js

X-Ray SDK for Node.js è una libreria per applicazioni Web Express e funzioni Lambda Node.js che fornisce classi e metodi per generare e inviare dati di traccia al demone X-Ray. I dati di traccia includono informazioni sulle HTTP richieste in entrata servite dall'applicazione e sulle chiamate effettuate dall'applicazione ai servizi a valle utilizzando i client or. AWS SDK HTTP

Nota

X-Ray SDK for Node.js è un progetto open source supportato per le versioni 14.x e successive di Node.js. Puoi seguire il progetto e inviare problemi e richieste pull su GitHub: github.com/aws/ aws-xray-sdk-node

Se usi Express, inizia aggiungendo il middleware SDK as sul tuo server delle applicazioni per tracciare le richieste in arrivo. Il middleware crea un segmento per ogni richiesta tracciata e completa il segmento quando viene inviata la risposta. Mentre il segmento è aperto, puoi utilizzare i metodi del SDK client per aggiungere informazioni al segmento e creare sottosegmenti per tracciare le chiamate downstream. SDKInoltre, registra automaticamente le eccezioni generate dall'applicazione mentre il segmento è aperto.

Per le funzioni Lambda richiamate da un'applicazione o un servizio strumentato, Lambda legge l'intestazione di tracciamento e traccia automaticamente le richieste campionate. Per altre funzioni, puoi configurare Lambda per campionare e tracciare le richieste in arrivo. In entrambi i casi, Lambda crea il segmento e lo fornisce all'X-Ray. SDK

Nota

Su Lambda, l'SDKX-Ray è opzionale. Se non lo usi nella tua funzione, la mappa dei servizi includerà comunque un nodo per il servizio Lambda e uno per ogni funzione Lambda. Aggiungendo ilSDK, è possibile utilizzare il codice della funzione per aggiungere sottosegmenti al segmento di funzione registrato da Lambda. Per ulteriori informazioni, consulta AWS Lambda e AWS X-Ray.

Successivamente, utilizzate X-Ray SDK for Node.js per strumentare il vostro file JavaScript nei AWS SDK client Node.js. Ogni volta che effettui una chiamata a un downstream Servizio AWS o a una risorsa con un client dotato di strumenti, quest'ultimo SDK registra le informazioni sulla chiamata in un sottosegmento. Servizi AWS e le risorse a cui accedi all'interno dei servizi vengono visualizzate come nodi a valle sulla mappa di traccia per aiutarti a identificare errori e problemi di limitazione sulle singole connessioni.

X-Ray SDK for Node.js fornisce anche la strumentazione per le chiamate downstream verso il Web e le query. HTTP APIs SQL Utilizza il metodo di acquisizione SDK del HTTP client per registrare informazioni sulle chiamate in uscita. HTTP Per SQL i client, utilizzate il metodo di acquisizione adatto al tipo di database in uso.

Pr determinare quali richieste tracciare, il middleware applica le regole di campionamento alle richieste in entrata. È possibile configurare X-Ray SDK for Node.js per regolare il comportamento di campionamento o per registrare informazioni sulle risorse di AWS calcolo su cui viene eseguita l'applicazione.

Registra ulteriori informazioni sulle richieste e sull'attività svolta dalla tua applicazione in annotazioni e metadati. Le annotazioni sono semplici coppie chiave-valore indicizzati per l'uso con espressioni filtro, in modo da poter cercare tracce che contengono dati specifici. Le immissioni di metadati sono meno restrittive e possono registrare interi oggetti e matrici, ovvero tutto ciò in cui è possibile serializzare. JSON

Annotazioni e metadata

Le annotazioni e i metadati sono testo arbitrario che viene aggiunto ai segmenti con X-Ray. SDK Le annotazioni vengono indicizzate per essere utilizzate con le espressioni di filtro. I metadati non sono indicizzati, ma possono essere visualizzati nel segmento raw con la console X-Ray o. API Chiunque conceda l'accesso in lettura a X-Ray può visualizzare questi dati.

Quando disponi di una notevole quantità di client analizzati nel tuo codice, un singolo segmento per la richiesta può contenere un numero elevato di sottosegmenti, uno per ciascuna delle chiamate effettuate con un client analizzato. Puoi organizzare e raggruppare i sottosegmenti inglobando le chiamate del client sottosegmenti personalizzati. Puoi creare un sottosegmento personalizzato per un'intera funzione o qualsiasi porzione di codice, e memorizzare metadati e annotazioni sul sottosegmento invece di scrivere tutto all'interno del segmento padre.

Per la documentazione di riferimento sulle SDK classi e i metodi, vedere il APIriferimento AWS X-Ray SDK per Node.js.

Requisiti

X-Ray SDK for Node.js richiede Node.js e le seguenti librerie:

  • atomic-batcher— 1.0.2

  • cls-hooked— 4.2.2

  • pkginfo— 0.4.0

  • semver— 5.3.0

SDKRichiama queste librerie quando le installi con. NPM

Per tracciare AWS SDK i client, X-Ray SDK for Node.js richiede una versione minima del modulo JavaScript in AWS SDK Node.js.

  • aws-sdk— 2.7.15

Gestione delle dipendenze

X-Ray SDK for Node.js è disponibile da. NPM

Per lo sviluppo locale, installalo SDK nella directory del tuo progetto con npm.

~/nodejs-xray$ npm install aws-xray-sdk aws-xray-sdk@3.3.3 ├─┬ aws-xray-sdk-core@3.3.3 │ ├── @aws-sdk/service-error-classification@3.15.0 │ ├── @aws-sdk/types@3.15.0 │ ├─┬ @types/cls-hooked@4.3.3 │ │ └── @types/node@15.3.0 │ ├── atomic-batcher@1.0.2 │ ├─┬ cls-hooked@4.2.2 │ │ ├─┬ async-hook-jl@1.7.6 │ │ │ └── stack-chain@1.3.7 │ │ └─┬ emitter-listener@1.1.2 │ │ └── shimmer@1.2.1 │ └── semver@5.7.1 ├── aws-xray-sdk-express@3.3.3 ├── aws-xray-sdk-mysql@3.3.3 └── aws-xray-sdk-postgres@3.3.3

Usa l'--saveopzione per salvarlo SDK come dipendenza nella tua applicazione. package.json

~/nodejs-xray$ npm install aws-xray-sdk --save aws-xray-sdk@3.3.3

Se l'applicazione presenta dipendenze le cui versioni sono in conflitto con le dipendenze di SDK X-Ray, verranno installate entrambe le versioni per garantire la compatibilità. Per maggiori dettagli, consulta la NPMdocumentazione ufficiale per la risoluzione delle dipendenze.

Esempi di Node.js

Usa AWS X-Ray SDK for Node.js per avere una end-to-end visione delle richieste mentre viaggiano attraverso le tue applicazioni Node.js.