Setelah menginstal agen ARMS Application Monitoring untuk Node.js, agen tersebut secara otomatis melakukan instrumentasi terhadap framework dan komponen yang didukung saat startup, serta mengumpulkan jejak permintaan, latensi pemanggilan, error, akses database, pemanggilan messaging, korelasi log-jejak, metrik waktu proses, dan jejak pemanggilan AI.
Prasyarat
-
(Disarankan) Node.js 14.x atau versi lebih baru. Untuk komponen terkait AI dan skenario ESM Loader, gunakan Node.js 16 atau versi lebih baru. Untuk lingkungan produksi, gunakan Node.js 18 atau Node.js 20 LTS.
-
ARMS Node.js agent telah diinstal.
npm install @loongsuite/cms_node_sdk -
Agen harus dimuat sebelum framework dan komponen aplikasi Anda. Jika modul seperti
express,mysql2, atauopenaidimuat sebelum agen dijalankan, instrumentasi mungkin tidak lengkap. Untuk aplikasi CommonJS, gunakan flag-runtuk memuat agen terlebih dahulu. Untuk aplikasi ESM, gunakan pendekatan Loader.node -r @loongsuite/cms_node_sdk/register app.js node --experimental-loader=@loongsuite/cms_node_sdk/import-hooks app.mjs
Informasi versi
Rentang versi yang didukung untuk Application Monitoring dalam tabel berikut didasarkan pada definisi komponen instrumentasi otomatis di @loongsuite/cms_node_sdk@1.0.7 dan paket dependensinya.
Untuk modul bawaan Node.js, metrik waktu proses, dan instrumentasi berbasis diagnostics channel, agen tidak melakukan penyaringan berdasarkan versi paket npm. Sebaliknya, instrumentasi bergantung pada versi runtime Node.js dan apakah modul tersebut menyediakan titik masuk yang dapat dikumpulkan.
Jika suatu framework tidak tercantum di bawah ini tetapi menggunakan modul bawaan Node.js seperti http, https, undici, atau net, agen tetap dapat mengumpulkan jejak entri atau keluar dasar. Kemampuan spesifik framework seperti routing, middleware, Agent, dan Tool memerlukan instrumentasi khusus.
Framework web
|
Komponen atau framework |
npm package |
Versi yang didukung |
Data yang dikumpulkan |
|
Express |
express |
>=4.0.0 <6.0.0 |
Jejak entri HTTP, informasi routing, eksekusi middleware dan handler, serta pesan error |
|
Koa |
koa |
>=2.0.0 <4.0.0 |
Jejak entri HTTP, eksekusi middleware, informasi routing, serta pesan error |
|
Next.js |
next |
>=12.0.0 <17.0.0 |
Permintaan sisi server, SSR, RSC, rute API, halaman error, halaman statis, informasi routing, kode status, latensi, serta pesan error |
|
Nuxt 2 |
@nuxt/server, @nuxt/vue-renderer, @nuxt/core |
>=2.3.0 <3.0.0 |
SSR, SPA, API, middleware server, |
|
Nuxt 3/Nitro/h3 |
h3, hookable, Node.js |
h3 >=1.0.0 <2.0.0; hookable >=5.0.0 <6.0.0 |
Permintaan sisi server, handler h3, hook Nitro, serta listener permintaan Node.js |
|
Socket.IO |
socket.io |
2.x, >=3.0.0 <5.0.0 |
Pengiriman dan penerimaan event, namespace, siaran ke ruangan (room broadcasting), latensi pesan, serta pesan error |
Komunikasi HTTP, RPC, dan jaringan
|
Komponen atau modul |
Paket npm |
Versi yang didukung |
Data yang dikumpulkan |
|
Node.js HTTP |
http, https |
Modul bawaan Node.js |
Entri server HTTP, keluaran klien HTTP, kode status, latensi permintaan, ukuran permintaan dan respons, serta pesan error |
|
Undici |
undici |
Tidak ada rentang semver tetap |
Permintaan klien HTTP, kode status, latensi, dan pesan error yang dikumpulkan melalui diagnostics channel |
|
gRPC |
@grpc/grpc-js |
>=1.0.0 <2.0.0 |
Pemanggilan klien dan server gRPC, layanan dan metode, kode status, latensi, serta pesan error |
|
DNS |
dns, dns/promises |
Modul bawaan Node.js |
Pemanggilan pencarian DNS, latensi resolusi, serta pesan error |
|
TCP/Unix Socket |
net |
Modul bawaan Node.js |
Koneksi TCP dan Unix Socket, alamat tujuan, port, serta error koneksi |
Database dan ORM
|
Komponen atau framework |
Paket npm |
Versi yang didukung |
Data yang dikumpulkan |
|
MySQL |
mysql |
>=2.0.0 <3.0.0 |
Jejak pemanggilan SQL, pernyataan SQL, informasi koneksi, kueri lambat, serta pesan error |
|
MySQL2 |
mysql2 |
>=1.4.2 <4.0.0 |
Jejak pemanggilan SQL, operasi query dan execute, pernyataan SQL, informasi koneksi, kueri lambat, serta pesan error |
|
PostgreSQL |
pg |
>=8.0.3 <9.0.0 |
Jejak pemanggilan SQL, pernyataan SQL, informasi koneksi, kueri lambat, serta pesan error |
|
PostgreSQL Pool |
pg-pool |
>=2.0.0 <4.0.0 |
Pemanggilan koneksi connection pool dan informasi jejak akses database tambahan |
|
MongoDB |
mongodb |
>=3.3.0 <4.0.0, >=4.0.0 <7.0.0 |
Perintah MongoDB, koleksi, nama database, informasi koneksi, latensi, serta pesan error |
|
Mongoose |
mongoose |
>=5.9.7 <9.0.0 |
Pemanggilan Model, Query, dan Aggregate, informasi koleksi, operasi database, latensi, serta pesan error |
Cache dan antrian pesan
|
Komponen atau framework |
Paket npm |
Versi yang didukung |
Data yang dikumpulkan |
|
Redis |
redis |
>=2.6.0 <4.0.0 |
Perintah Redis, informasi koneksi, latensi pemanggilan, serta pesan error |
|
Node Redis Client |
@redis/client, @node-redis/client |
>=1.0.0 <2.0.0, >=5.0.0 <6.0.0 |
Perintah klien Redis v4 dan v5, perintah multi, informasi koneksi, latensi pemanggilan, serta pesan error |
|
ioredis |
ioredis |
>=2.0.0 <6.0.0 |
Perintah Redis, informasi koneksi, latensi pemanggilan, serta pesan error |
|
KafkaJS |
kafkajs |
>=0.3.0 <3.0.0 |
Pemanggilan produsen dan konsumen Kafka, topik, latensi pengiriman dan penerimaan pesan, serta pesan error |
Framework logging
|
Komponen atau framework |
paket npm |
Versi yang didukung |
Data yang dikumpulkan |
|
Pino |
pino |
>=7.0.0 <11.0.0 |
Injeksi bidang korelasi jejak ke dalam log |
|
Winston |
winston |
>=3.0.0 <4.0.0 |
Injeksi bidang korelasi jejak ke dalam log |
|
Bunyan |
bunyan |
>=1.8.0 <3.0.0 |
Injeksi bidang korelasi jejak ke dalam log |
|
Console |
console |
Objek global Node.js |
Injeksi bidang korelasi jejak ke dalam console.log, console.info, console.warn, dan console.error |
Komponen aplikasi AI
|
Komponen atau framework |
Paket npm |
Versi yang didukung |
Data yang dikumpulkan |
|
OpenAI Node SDK |
openai |
>=4.0.0 <6.0.0 |
Pemanggilan Chat, Completion, dan Image, informasi model, token usage, pemanggilan streaming, serta pesan error |
|
LangChain JS |
@langchain/core, langchain |
Tidak ada rentang semver tetap. Bergantung pada ketersediaan titik masuk modul seperti @langchain/core/callbacks/manager. |
Jejak eksekusi Chain, LLM, Tool, Retriever, dan Embedding, token usage, serta pesan error |
|
LangGraph |
@langchain/langgraph |
Tidak ada rentang semver tetap. Bergantung pada ketersediaan titik masuk modul seperti @langchain/langgraph/prebuilt dan @langchain/langgraph/pregel. |
Agent ReAct, stream Pregel, metadata Agent dan Step, membentuk jejak Agent lengkap bekerja sama dengan instrumentasi LangChain |
|
Vercel AI SDK |
ai |
>=4.0.0 <7.0.0 |
Jejak pemanggilan generateText, streamText, generateObject, streamObject, Tool, Embedding, Rerank, dan Agent |
|
Anthropic Claude Agent SDK |
@anthropic-ai/claude-agent-sdk |
>=0.3.0 <1.0.0 |
Pemanggilan query dan startup, eksekusi Agent, permintaan model, pemanggilan tool, informasi session, token usage, serta pesan error |
Metrik waktu proses Node.js
|
Kategori metrik |
Target pengumpulan |
Data yang dikumpulkan |
|
Event Loop |
Event loop Node.js |
Delay event loop, utilisasi event loop, dan metrik lainnya |
|
V8 |
Mesin V8 |
Memori heap, jumlah GC, latensi GC, penggunaan ruang heap, dan metrik lainnya |
|
Process |
Proses Node.js |
Metrik CPU, memori, terkait thread, deskriptor file terbuka, context switch, memori virtual, dan metrik proses lainnya |
Konfigurasi
Semua instrumentasi bawaan diaktifkan secara default. Anda dapat menyesuaikannya per aplikasi di Konsol ARMS atau melalui bidang instrumentations saat menginisialisasi SDK.
Contoh berikut mengonfigurasi bidang instrumentations:
const { NodeSDK } = require('@loongsuite/cms_node_sdk');
const sdk = new NodeSDK({
serviceName: 'your-app-name',
licenseKey: 'your-license-key',
regionId: 'cn-hangzhou',
instrumentations: {
next: {
enabled: true
},
nuxt: {
enabled: true
},
mysql2: {
enabled: true
},
openai: {
enabled: true
},
vercel_ai: {
enabled: true
},
},
});
sdk.start();
Kunci konfigurasi umum:
|
Kategori |
Kunci konfigurasi |
|
HTTP dan jaringan |
|
|
Framework web |
|
|
Database |
|
|
Cache dan messaging |
|
|
Logging |
|
|
AI |
|
|
Runtime |
|
Kunci konfigurasi untuk Mongoose adalah moogoose, bukan mongoose. Ini merupakan nama kunci tingkat kode yang diketahui. Komponen Mongoose ditampilkan sebagai mongoose dalam konteks yang terlihat pengguna. Jika Anda secara eksplisit mengonfigurasi sakelar instrumentasi Mongoose dalam kode, gunakan moogoose.
Catatan penggunaan
-
Instrumentasi otomatis mengharuskan agen dimuat sebelum modul target. Jika aplikasi Anda memuat modul seperti
express,next,nuxt,mysql2, atauopenaisebelum menjalankan agen, instrumentasi untuk komponen tersebut mungkin tidak lengkap. -
Instrumentasi otomatis Next.js didukung mulai dari
@loongsuite/cms_node_sdk@1.0.5. Instrumentasi otomatis Nuxt 2 didukung mulai dari@loongsuite/cms_node_sdk@1.0.7. -
Instrumentasi Nuxt 2 menggunakan modul
@nuxt/server,@nuxt/vue-renderer, dan@nuxt/core. Versi Nuxt sebelum 2.3.0 tidak didukung. -
Komponen AI dapat mengumpulkan konten badan permintaan seperti prompt, respons, serta input/output tool. Di lingkungan produksi, konfigurasikan kebijakan pengumpulan, aturan Pengaburan (redaction), dan batas panjang maksimum sesuai persyaratan kepatuhan Anda.
-
Untuk komponen yang tidak tercantum, agen mungkin tetap mengumpulkan jejak dasar melalui instrumentasi klien HTTP, RPC, atau database yang mendasarinya, tetapi bidang semantik spesifik framework dan kemampuan tampilan tidak dijamin.
-
Rentang versi komponen diperbarui pada setiap rilis agen. Setelah melakukan upgrade, periksa dokumentasi dan catatan rilis untuk dukungan versi terbaru.