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.
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
Informasi latar belakang
Memulai
Jalankan perintah berikut untuk mendapatkan jaeger-client-cpp dari situs resmi:
wget https://github.com/jaegertracing/jaeger-client-cpp/archive/master.zip && unzip master.zipEkstrak paket dan masuk ke direktori. Lalu, jalankan perintah berikut untuk membangun proyek.
CatatanCMake diperlukan dan versi GCC harus V4.9.2 atau lebih baru.
mkdir build cd build cmake .. makeUnduh Agen Jaeger dan mulai Agen dengan menentukan parameter berikut untuk melaporkan data ke konsol Managed Service for OpenTelemetry.
CatatanGanti
<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>Masuk ke direktori contoh jaeger-client-cpp dan jalankan perintah uji.
./app ../examples/config.ymlMasuk ke Konsol ARMS. Di panel navigasi kiri, pilih . Di halaman Applications, klik nama aplikasi. Di halaman yang muncul, lihat data jejak.
CatatanJika ikon
ditampilkan di kolom Language, aplikasi tersebut terhubung ke Pemantauan Aplikasi. Jika tanda hubung (-) ditampilkan, aplikasi tersebut terhubung ke Managed Service for OpenTelemetry.
Gunakan agen Jaeger untuk melaporkan data
Instal klien Jaeger. Untuk informasi lebih lanjut tentang cara mengunduh klien Jaeger, lihat jaeger-client-cpp.
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: 1Buat 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); }Unduh Agen Jaeger dan mulai Agen dengan menentukan parameter berikut untuk melaporkan data ke konsol Managed Service for OpenTelemetry.
CatatanGanti
<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>
