全部产品
Search
文档中心

Managed Service for OpenTelemetry:Gunakan Jaeger untuk melaporkan data aplikasi C++

更新时间:Jul 06, 2025

Managed Service for OpenTelemetry memantau aplikasi Anda setelah menggunakan Jaeger untuk menginstrumentasikan dan melaporkan data jejak. Anda dapat melihat data pemantauan seperti topologi, jejak, transaksi abnormal dan lambat, serta analisis SQL. Topik ini menjelaskan cara menggunakan Jaeger untuk menginstrumentasikan aplikasi C++ dan melaporkan datanya.

Penting

Kami merekomendasikan agar Anda menghubungkan aplikasi ke Managed Service for OpenTelemetry menggunakan OpenTelemetry Protocol (OTLP). Dengan pendekatan ini, Anda mendapatkan lebih banyak fitur, kemampuan tracing yang lebih canggih, dan pengalaman pengguna terbaik.

Alibaba Cloud menyediakan panduan terperinci tentang integrasi OpenTelemetry dengan aplikasi serta praktik terbaik dalam penggunaannya untuk membantu Anda memulai dengan Managed Service for OpenTelemetry. Untuk informasi lebih lanjut, lihat Persiapan.

Prasyarat

Memperoleh Titik Akhir

Konsol baru

  1. Masuk ke Konsol Managed Service for OpenTelemetry. Di panel navigasi kiri, klik Integration Center.

  2. Di halaman Pusat Integrasi, klik kartu Jaeger di bagian Open Source Frameworks.

  3. Di panel Jaeger, klik tab **Start Integration**, lalu pilih wilayah untuk pelaporan data.

    Catatan

    Saat mengakses wilayah untuk pertama kalinya, sumber daya akan diinisialisasi secara otomatis.

  4. Konfigurasikan parameter Tipe Koneksi dan Protokol Ekspor, lalu salin titik akhir.

    • Tipe Koneksi: Jika layanan Anda berada di Alibaba Cloud dan wilayah yang dipilih, atur parameter ini ke Jaringan VPC Alibaba Cloud. Jika tidak, atur ke Jaringan Publik.

    • Protokol Ekspor: Atur parameter ini ke HTTP (disarankan) atau gRPC sesuai protokol yang didukung oleh klien.

    image

Konsol lama

  1. Masuk ke Konsol Managed Service for OpenTelemetry.

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

  3. Di bilah navigasi atas, pilih wilayah tempat Anda ingin melaporkan data. Di bagian Cluster Information, aktifkan Show Token.

  4. Atur parameter Client ke Jaeger.

    Di kolom Related Information tabel, salin titik akhir.jager中国.jpg

    Catatan

    Jika aplikasi Anda berada di lingkungan produksi Alibaba Cloud, gunakan titik akhir VPC. Jika tidak, gunakan titik akhir publik.

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.

Memulai

  1. Jalankan perintah berikut untuk mendapatkan jaeger-client-cpp dari situs resmi:

    wget https://github.com/jaegertracing/jaeger-client-cpp/archive/master.zip && unzip master.zip
  2. Ekstrak paket dan masuk ke direktori. Lalu, jalankan perintah berikut untuk membangun proyek.

    Catatan

    CMake diperlukan dan versi GCC harus V4.9.2 atau lebih baru.

    mkdir build
        cd build
        cmake ..
        make
  3. Unduh Agen Jaeger dan mulai Agen dengan menentukan parameter berikut untuk melaporkan data ke konsol Managed Service for OpenTelemetry.

    Catatan

    Ganti <endpoint> dengan yang Anda ambil di bagian Prasyarat.

    # Parameter reporter.grpc.host-port menentukan titik akhir. Titik akhir bervariasi berdasarkan wilayah. Contoh:
    nohup ./jaeger-agent --reporter.grpc.host-port=tracing-analysis-dc-sz.aliyuncs.com:1883 --jaeger.tags=<endpoint>
  4. Masuk ke direktori contoh jaeger-client-cpp dan jalankan perintah uji.

    ./app ../examples/config.yml

    Di halaman Applications dari Konsol Managed Service for OpenTelemetry, klik nama aplikasi. Di halaman yang muncul, lihat data jejak.

Gunakan agen Jaeger untuk melaporkan data

  1. Instal klien Jaeger. Untuk informasi lebih lanjut tentang cara mengunduh klien Jaeger, lihat jaeger-client-cpp.

  2. Buat objek Tracer:

    Sebagai contoh, kita dapat menghasilkan objek Trace berdasarkan konfigurasi YAML:

    void setUpTracer(const char* configFilePath)
    {
        auto configYAML = YAML::LoadFile(configFilePath);
        // Impor konfigurasi dari file YAML. 
        auto config = jaegertracing::Config::parse(configYAML);
        // Tetapkan nama layanan dan logger objek Tracer. 
        auto tracer = jaegertracing::Tracer::make(
            "example-service", config, jaegertracing::logging::consoleLogger());
        // Tetapkan objek Tracer sebagai variabel global. 
        opentracing::Tracer::InitGlobal(
            std::static_pointer_cast<opentracing::Tracer>(tracer));
    }

    Contoh konfigurasi YAML:

    disabled: false
    reporter:
      logSpans: true
    sampler:
      type: const
      param: 1
  3. Buat rentang:

    // Buat rentang dalam skenario di mana rentang induk ada. 
    void tracedSubroutine(const std::unique_ptr<opentracing::Span>& parentSpan)
    {
        auto span = opentracing::Tracer::Global()->StartSpan(
            "tracedSubroutine", { opentracing::ChildOf(&parentSpan->context()) });
    }
    
    // Buat rentang dalam skenario di mana tidak ada rentang induk. 
    void tracedFunction()
    {
        auto span = opentracing::Tracer::Global()->StartSpan("tracedFunction");
        tracedSubroutine(span);
    }
  4. Unduh Agen Jaeger dan mulai Agen dengan menentukan parameter berikut untuk melaporkan data ke konsol Managed Service for OpenTelemetry.

    Catatan

    Ganti <endpoint> dengan yang Anda ambil di bagian Prasyarat.

    # Parameter reporter.grpc.host-port menentukan titik akhir. Titik akhir bervariasi berdasarkan wilayah. Contoh:
    nohup ./jaeger-agent --reporter.grpc.host-port=tracing-analysis-dc-sz.aliyuncs.com:1883 --jaeger.tags=<endpoint>