全部产品
Search
文档中心

Simple Log Service:Impor data jejak dari aplikasi Ruby ke Layanan Log Sederhana menggunakan OpenTelemetry SDK untuk Ruby

更新时间:Jul 06, 2025

Topik ini menjelaskan cara mengimpor data jejak dari aplikasi Ruby ke Layanan Log Sederhana menggunakan OpenTelemetry SDK untuk Ruby.

Prasyarat

  • Sebuah instance jejak telah dibuat. Untuk informasi lebih lanjut, lihat Buat Instance Jejak.

  • Lingkungan pengembangan Ruby telah disiapkan dengan versi Ruby 2.0 atau yang lebih baru.

  • OpenTelemetry SDK untuk Ruby telah diinstal.

    Jika OpenTelemetry SDK untuk Ruby belum diinstal, Anda dapat menjalankan perintah berikut untuk menginstal SDK:

    gem install opentelemetry-api
    gem install opentelemetry-sdk
    gem install opentelemetry-exporter-otlp

Prosedur

  1. Konfigurasikan variabel lingkungan.

    Ganti variabel dalam kode berikut dengan nilai sebenarnya. Untuk informasi lebih lanjut tentang variabel, lihat Variabel.

    export OTEL_RESOURCE_ATTRIBUTES=sls.otel.project=${project},sls.otel.instanceid=${instance},sls.otel.akid=${akid},sls.otel.aksecret=${aksecret},service.name=${service},service.version=${version},host.name=${host}

    export OTEL_RESOURCE_ATTRIBUTES=sls.otel.project=${project},sls.otel.instanceid=${instance},sls.otel.akid=${akid},sls.otel.aksecret=${aksecret},service.namespace=${service.namespace},service.name=${service},service.version=${version},host.name=${host}

    Tabel 1. Variabel

    Variabel

    Deskripsi

    Contoh

    ${service}

    Nama layanan. Tentukan nilai berdasarkan kebutuhan bisnis Anda.

    payment

    ${version}

    Versi layanan. Kami merekomendasikan Anda menentukan versi dalam format va.b.c.

    v0.1.2

    ${service.namespace}

    Namespace tempat layanan berada.

    order

    ${project}

    Nama proyek Layanan Log Sederhana.

    test-project

    ${instance}

    ID instance jejak. Untuk informasi lebih lanjut, lihat Buat instance jejak.

    test-traces

    ${akid}

    ID AccessKey akun Alibaba Cloud Anda.

    Kami merekomendasikan Anda menggunakan pasangan AccessKey dari pengguna RAM yang hanya memiliki izin tulis pada proyek Layanan Log Sederhana. Pasangan AccessKey terdiri dari ID AccessKey dan Rahasia AccessKey. Untuk informasi lebih lanjut tentang cara memberikan izin tulis pada proyek tertentu kepada pengguna RAM, lihat Gunakan kebijakan kustom untuk memberikan izin kepada pengguna RAM. Untuk informasi lebih lanjut tentang cara mendapatkan pasangan AccessKey, lihat Pasangan AccessKey.

    Tidak ada

    ${aksecret}

    Rahasia AccessKey akun Alibaba Cloud Anda.

    Kami merekomendasikan Anda menggunakan pasangan AccessKey dari pengguna RAM yang hanya memiliki izin tulis pada proyek Layanan Log Sederhana.

    Tidak ada

    ${host}

    Nama host.

    localhost

  2. Konfigurasikan instrumentasi.

    Ganti variabel ${endpoint} dalam kode berikut dengan nilai sebenarnya. Untuk informasi lebih lanjut tentang variabel, lihat Variabel. Untuk detail contoh kode, lihat opentelemetry-ruby.

    require 'opentelemetry/sdk'
    require 'opentelemetry-exporter-otlp'
    
    # Konfigurasikan sdk dengan format ekspor default dan propagasi konteks
    # lihat SDK#configure untuk menyesuaikan setup
    OpenTelemetry::SDK.configure do |c|
      c.add_span_processor(
        OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
          OpenTelemetry::Exporter::OTLP::Exporter.new(
            endpoint: 'https://${endpoint}/opentelemetry/v1/traces'
          )
        )
      )
    end
    
    # Untuk memulai jejak, Anda perlu mendapatkan Tracer dari TracerProvider
    tracer = OpenTelemetry.tracer_provider.tracer('my_app_or_gem', '0.1.0')
    
    tracer.in_span('foo') do |span|
      # set atribut
      span.set_attribute('tform', 'osx')
      # tambahkan event
      span.add_event('event in bar')
      # buat bar sebagai anak dari foo
      tracer.in_span('bar') do |child_span|
        # inspeksi rentang
        pp child_span
      end
    end
    
    sleep 10

    Tabel 2. Variabel

    Variabel

    Deskripsi

    Contoh

    ${endpoint}

    Titik akhir proyek Layanan Log Sederhana. Format: ${project}.${region-endpoint}.

    • ${project}: nama proyek Layanan Log Sederhana.

    • ${region-endpoint}: titik akhir Layanan Log Sederhana untuk wilayah tempat proyek berada. Anda dapat mengakses Layanan Log Sederhana menggunakan titik akhir internal atau publik. Titik akhir internal dapat diakses melalui jaringan klasik atau virtual private cloud (VPC). Titik akhir publik dapat diakses melalui Internet. Untuk informasi lebih lanjut, lihat Titik Akhir.

    https://test-project.cn-hangzhou.log.aliyuncs.com

Apa yang harus dilakukan selanjutnya