全部产品
Search
文档中心

Application Real-Time Monitoring Service:Melaporkan Data Aplikasi Node.js

更新时间:Jun 27, 2025

Topik ini menjelaskan cara melaporkan data aplikasi Node.js ke Analisis Tracing.

Prasyarat

Dependensi Jaeger telah ditambahkan ke paket proyek Node.js.

"dependencies": {
    "jaeger-client": "^3.12.0"
  }

Untuk mendapatkan titik akhir Jaeger atau Zipkin, ikuti langkah-langkah berikut:

  1. Masuk ke Konsol Managed Service for OpenTelemetry.

  2. Di bilah navigasi sisi kiri, klik Cluster Configurations. Di halaman yang muncul, klik tab Access point information.

  3. Di bilah navigasi atas, pilih wilayah. Di bagian Cluster Information, aktifkan Show Token.

  4. Atur parameter Client ke Jaeger atau Zipkin. Dalam contoh ini, Jaeger dipilih.

    Dapatkan titik akhir Jaeger atau Zipkin di kolom Related Information tabel di bagian bawah.

    Jaeger/Zipkin接入点信息

    Catatan

    Jika aplikasi Anda diterapkan di lingkungan produksi Alibaba Cloud, gunakan titik akhir VPC. Jika tidak, gunakan titik akhir publik. Secara umum, gunakan titik akhir v2 untuk Zipkin. Gunakan titik akhir v1 hanya jika Anda memahami Zipkin dengan baik.

Informasi latar belakang

Bagaimana data dilaporkan?

  • Gambar berikut menunjukkan cara melaporkan data tanpa menggunakan agen Jaeger.

  • Gambar berikut menunjukkan cara melaporkan data dengan menggunakan agen Jaeger.

Prosedur

  1. Atur parameter untuk inisialisasi.

    Catatan

    Ganti <endpoint> dengan titik akhir wilayah tempat klien Anda berada. Anda dapat masuk ke Konsol Managed Service for OpenTelemetry dan melihat titik akhir di tab Access point information pada halaman Cluster Configurations. Untuk informasi lebih lanjut tentang cara mendapatkan titik akhir, lihat bagian "Prasyarat" dari topik ini.

    const initTracer = require("jaeger-client").initTracer;
    
    const config = {
        serviceName: 'node-service',
        sampler: {
            type: "const",
            param: 1
        },
        reporter: {
            collectorEndpoint: "<endpoint>"
        },
    };
  2. Buat objek Tracer.

    const tracer = initTracer(config);
  3. Buat rentang.

    const span = tracer.startSpan("say-hello");
    
    // Opsional. Atur satu atau lebih tag.
    span.setTag("tagKey-01", "tagValue-01");
    
    // Opsional. Atur satu atau lebih log.
    span.log({event: "timestamp", value: Date.now()});
    
    // Selesaikan rentang.
    span.finish();
  4. Masuk ke Konsol Analisis Tracing dan lihat jejak.

Kode sampel lengkap berdasarkan Express

const express = require("express");
const initTracer = require("jaeger-client").initTracer;
const app = express();

const config = {
    serviceName: 'node-service',
    sampler: {
        type: "const",
        param: 1
    },
    reporter: {
        collectorEndpoint: "<endpoint>"
    },
};
const tracer = initTracer(config);

app.all('*', function (req, res, next) {
    req.span = tracer.startSpan("say-hello");
    next();
});

app.get("/api", function (req, res) {
    const span = req.span;
    span.log({event: "timestamp", value: Date.now()});
    req.span.finish();
    res.send({code: 200, msg: "success"});
});

app.listen(3000, '127.0.0.1', function () {
    console.log('start');
});