All Products
Search
Document Center

Managed Service for OpenTelemetry:Laporkan data aplikasi Rust dengan SkyWalking

Last Updated:Jun 22, 2026

Setelah Anda melakukan instrumentasi aplikasi dengan SkyWalking Rust Agent dan melaporkan trace data ke Managed Service for OpenTelemetry, Managed Service for OpenTelemetry mulai memantau aplikasi Anda. Anda dapat melihat metrik utama, seperti topologi aplikasi, jejak (traces), transaksi yang gagal dan lambat, serta analisis SQL.

Prasyarat

  • Protobuf telah diinstal.

    macOS

    brew install protobuf

    Debian

    sudo apt install protobuf-compiler
  • Dapatkan titik akhir (endpoint)

    Konsol baru

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

    2. Pada halaman Integration Center, klik kartu SkyWalking di bagian Open Source Frameworks.

    3. Di panel SkyWalking, klik tab Start Integration, lalu pilih wilayah tempat Anda ingin melaporkan data.

      Catatan

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

    4. Konfigurasikan parameter Connection Type dan salin titik akhirnya.

      Jika layanan Anda dideploy di Alibaba Cloud dan berada di wilayah yang Anda pilih, kami menyarankan Anda mengatur parameter ini ke Alibaba Cloud VPC Network. Jika tidak, atur parameter ini ke Public Network.

      image.png

    Konsol lama

    1. Masuk ke Konsol Managed Service for OpenTelemetry.

    2. Di panel navigasi kiri, klik Cluster Configurations. Pada 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 SkyWalking.

      Di kolom Related Information pada tabel, salin titik akhirnya.

      SkyWalking接入点信息

      Catatan

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

Informasi latar belakang

SkyWalking adalah alat Application Performance Monitoring (APM) open-source populer untuk aplikasi layanan mikro, cloud-native, dan berbasis kontainer (seperti Docker, Kubernetes, dan Mesos). Inti dari SkyWalking adalah sistem pelacakan terdistribusi.

Crate skywalking-rust adalah library resmi SkyWalking Rust Agent. Anda dapat mengintegrasikannya untuk memantau aplikasi Rust. Saat ini, skywalking-rust menyediakan instrumentasi otomatis yang terbatas dan memerlukan instrumentasi manual.

Demo

Repositori demo: SkyWalking Demo

Demo ini menyediakan server HTTP sederhana berbasis framework hyper untuk Rust. Demo ini menggunakan instrumentasi manual dengan skywalking-rust untuk melaporkan data ke konsol Managed Service for OpenTelemetry.

Instrumentasi manual aplikasi Rust

  1. Tambahkan dependensi SkyWalking ke proyek Rust Anda.

    Catatan

    Topik ini menggunakan SkyWalking 0.8.0 sebagai contoh.

    cargo.toml

    # Tambahkan baris berikut di bawah [dependencies]
    skywalking = { version = "0.8.0", features = ["vendored"] }

    cargo add

    cargo add skywalking --features vendored
  2. Impor modul SkyWalking dalam kode sumber Anda.

    # Impor modul dalam kode sumber yang memerlukan instrumentasi.
    use skywalking::{reporter::grpc::GrpcReporter, trace::tracer::Tracer};
  3. Lakukan instrumentasi manual.

    // Gunakan entry span, local span, dan exit span untuk melakukan instrumentasi jejak secara manual.
    // Ketiga jenis span ini memungkinkan pelacakan end-to-end yang lengkap.
    //
    // entry span: Digunakan di sisi server untuk mengekstrak konteks pelacakan dari permintaan HTTP masuk.
    // local span: Digunakan untuk menginstrumentasi operasi dalam proses yang sama.
    // exit span: Digunakan di sisi klien untuk menyisipkan konteks pelacakan ke permintaan HTTP keluar.
    //
    // Untuk jejak lintas proses, lihat contoh berikut:
    //
    // client.rs:
    let mut ctx = tracer.create_trace_context();
    {
        // lakukan sesuatu...
        let span = ctx.create_exit_span("operation1", "remote_peer");
    }
    
    // server.rs:
    let mut ctx = tracer.create_trace_context();
    {
        let span = ctx.create_entry_span("operation1");
        // lakukan sesuatu...
    }
  4. Konfigurasikan titik akhir dan token.

    Dapatkan alamat titik akhir dan token otentikasi dari bagian Prasyarat.

    // Ganti <endpoint> dengan alamat titik akhir, <token> dengan token otentikasi,
    // dan <service_name> dengan nama aplikasi Anda.
    let endpoint = "<endpoint>";
    let token = "<token>";
    let service_name = "<service_name>";
    let instance_name = "<instance_name>";
    
    let reporter = GrpcReporter::connect(endpoint).await?;
    let reporter = reporter.with_authentication(token);
    let tracer = Tracer::new(service_name, instance_name, reporter.clone());</service_name></token></endpoint>
  5. Mulai ulang aplikasi Anda.

FAQ

Proyek Rust saya gagal dibangun dengan error berikut:

   Compiling tokio-io v0.1.13
   Compiling hyper v0.14.27
error: failed to run custom build command for `skywalking v0.8.0`
Caused by:
  process didn't exit successfully: `/Users/whlongxi/work/test/skywalking-test-demo/skywalking-rust-demo/target/debug/build/skywalking-12f2124cc5c4c6c4/build-script-build` (exit status:
101)
  --- stdout
  cargo:rerun-if-changed=./skywalking-data-collect-protocol/language-agent/Meter.proto
  cargo:rerun-if-changed=./skywalking-data-collect-protocol/language-agent/Tracing.proto
  cargo:rerun-if-changed=./skywalking-data-collect-protocol/logging/Logging.proto
  cargo:rerun-if-changed=./skywalking-data-collect-protocol/management/Management.proto
  cargo:rerun-if-changed=./skywalking-data-collect-protocol
  --- stderr
  thread 'main' panicked at 'Could not find `protoc` installation and this build crate cannot proceed without
      this knowledge. If `protoc` is installed and this crate had trouble finding
      it, you can set the `PROTOC` environment variable with the specific path to your
      installed `protoc` binary.You could try running `brew install protobuf` or downloading it from https://github.com/protocolbuffers/protobuf/releases

Error ini menunjukkan bahwa kompilator protoc tidak ditemukan. Untuk memperbaikinya, instal protobuf seperti yang dijelaskan di bagian Prasyarat.

Artikel terkait

Situs resmi Apache SkyWalking