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

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS X-Ray SDK untuk Node.js

X-Ray SDK untuk Node.js adalah perpustakaan untuk aplikasi web Express dan fungsi Lambda Node.js yang menyediakan kelas dan metode untuk menghasilkan dan mengirim data jejak ke daemon X-Ray. Data pelacakan mencakup informasi tentang HTTP permintaan masuk yang dilayani oleh aplikasi, dan panggilan yang dilakukan aplikasi ke layanan hilir menggunakan AWS SDK atau HTTP klien.

catatan

X-Ray SDK untuk Node.js adalah proyek open source yang didukung untuk Node.js versi 14.x dan lebih tinggi. Anda dapat mengikuti proyek dan mengirimkan masalah dan menarik permintaan di GitHub: github.com/aws/ aws-xray-sdk-node

Jika Anda menggunakan Express, mulailah dengan menambahkan middleware SDK as di server aplikasi Anda untuk melacak permintaan yang masuk. middleware menciptakan segmen untuk setiap permintaan yang dilacak, dan melengkapi segmen ketika respons dikirim. Saat segmen terbuka, Anda dapat menggunakan metode SDK klien untuk menambahkan informasi ke segmen dan membuat subsegmen untuk melacak panggilan hilir. Ini SDK juga secara otomatis mencatat pengecualian yang dilemparkan aplikasi Anda saat segmen terbuka.

Untuk fungsi Lambda disebut oleh instrumen aplikasi atau layanan, Lambda membaca tracing header dan pelacakan sampel permintaan secara otomatis. Untuk fungsi lainnya, Anda dapat mengonfigurasi Lambda untuk sampel dan pelacakan permintaan masuk. Dalam kedua kasus, Lambda menciptakan segmen dan menyediakannya ke X-Ray. SDK

catatan

Pada Lambda, SDK X-Ray adalah opsional. Jika Anda tidak menggunakannya dalam fungsi Anda, peta layanan Anda masih akan menyertakan simpul untuk layanan Lambda, dan satu untuk setiap fungsi Lambda. Dengan menambahkanSDK, Anda dapat menginstruksikan kode fungsi Anda untuk menambahkan subsegmen ke segmen fungsi yang direkam oleh Lambda. Untuk informasi selengkapnya, lihat AWS Lambda dan AWS X-Ray.

Selanjutnya, gunakan X-Ray SDK untuk Node.js untuk instrumen Anda AWS SDK untuk JavaScript klien Node.js. Setiap kali Anda melakukan panggilan ke hilir Layanan AWS atau sumber daya dengan klien yang diinstrumentasi, akan SDK mencatat informasi tentang panggilan di subsegmen. Layanan AWS dan sumber daya yang Anda akses dalam layanan muncul sebagai node hilir pada peta jejak untuk membantu Anda mengidentifikasi kesalahan dan masalah pembatasan pada koneksi individual.

X-Ray SDK untuk Node.js juga menyediakan instrumentasi untuk panggilan hilir ke HTTP web APIs dan SQL kueri. Bungkus HTTP klien Anda dalam SDK metode pengambilan untuk merekam informasi tentang HTTP panggilan keluar. Untuk SQL klien, gunakan metode capture untuk tipe database Anda.

Middleware menerapkan aturan pengambilan sampel ke permintaan masuk untuk menentukan permintaan yang dilacak. Anda dapat mengonfigurasi X-Ray SDK untuk Node.js untuk menyesuaikan perilaku pengambilan sampel atau merekam informasi tentang sumber daya AWS komputasi tempat aplikasi Anda berjalan.

Catat informasi tambahan tentang permintaan dan pekerjaan yang dilakukan aplikasi Anda dalam anotasi dan metadata. Anotasi adalah pasangan kunci-nilai sederhana yang diindeks untuk digunakan dengan ekspresi filter, sehingga Anda dapat mencari pelacakan yang berisi data tertentu. Entri metadata kurang membatasi dan dapat merekam seluruh objek dan array — apa pun yang dapat diserialisasikan. JSON

Anotasi dan Metadata

Anotasi dan metadata adalah teks arbitrer yang Anda tambahkan ke segmen dengan X-Ray. SDK Anotasi diindekskan untuk digunakan dengan Ekspresi filter. Metadata tidak diindeks, tetapi dapat dilihat di segmen mentah dengan konsol X-Ray atau. API Siapa pun yang Anda berikan akses baca ke X-Ray dapat melihat data ini.

Bila Anda memiliki banyak klien diinstrumentasi dalam kode Anda, segmen permintaan tunggal dapat berisi sejumlah besar subsegmen, satu untuk setiap panggilan yang dilakukan dengan klien yang diinstrumentasi. Anda dapat mengatur dan mengelompokkan subsegmen dengan menggabungkan panggilan klien di subsegmen kustom. Anda dapat membuat subsegmen kustom untuk seluruh fungsi atau bagian dari kode apa pun, dan mencatat metadata dan anotasi pada subsegmen alih-alih menulis semuanya pada segmen induk.

Untuk dokumentasi referensi tentang kelas dan metode, lihat APIReferensi Node.js AWS X-Ray SDK untuk. SDK

Persyaratan

X-Ray SDK untuk Node.js membutuhkan Node.js dan pustaka berikut:

  • atomic-batcher – 1.0.2

  • cls-hooked – 4.2.2

  • pkginfo – 0.4.0

  • semver – 5.3.0

Ini SDK menarik pustaka ini saat Anda menginstalnya. NPM

Untuk melacak AWS SDK klien, X-Ray SDK untuk Node.js memerlukan versi minimum AWS SDK for JavaScript di Node.js.

  • aws-sdk – 2.7.15

Manajemen dependensi

X-Ray SDK untuk Node.js tersedia dariNPM.

Untuk pengembangan lokal, instal SDK di direktori proyek Anda dengan 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

Gunakan --save opsi untuk menyimpan SDK sebagai dependensi dalam aplikasi Anda. package.json

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

Jika aplikasi Anda memiliki dependensi yang versinya bertentangan dengan dependensi SDK X-Ray, kedua versi akan diinstal untuk memastikan kompatibilitas. Untuk detail selengkapnya, lihat NPMdokumentasi resmi untuk resolusi ketergantungan.

Sampel Node.js

Bekerja dengan AWS X-Ray SDK for Node.js untuk mendapatkan end-to-end tampilan permintaan saat mereka melakukan perjalanan melalui aplikasi Node.js Anda.