全部产品
Search
文档中心

Managed Service for OpenTelemetry:Gunakan SkyWalking untuk melaporkan data aplikasi Java

更新时间:Dec 05, 2025

Setelah Anda menggunakan SkyWalking untuk menginstrumentasi aplikasi dan melaporkan data jejak ke Managed Service for OpenTelemetry, Managed Service for OpenTelemetry mulai memantau aplikasi tersebut. Selanjutnya, Anda dapat melihat data pemantauan aplikasi, seperti topologi aplikasi, jejak, transaksi abnormal, transaksi lambat, dan analisis SQL. Topik ini menjelaskan cara menggunakan Agen Java SkyWalking untuk melakukan instrumentasi otomatis. Topik ini juga menjelaskan atribut-atribut yang dapat dikonfigurasi pada Agen Java SkyWalking.

Prasyarat

  • SkyWalking versi 6.X.X atau lebih baru telah diunduh dari halaman unduhan SkyWalking. Disarankan untuk menggunakan versi stabil terbaru. Folder Agent yang telah diekstrak disimpan di direktori yang dapat diakses oleh proses Java.

  • Semua plugin disimpan di direktori /plugins. Plugin yang ditambahkan ke direktori tersebut saat startup akan langsung berlaku, sedangkan plugin yang dihapus dari direktori tersebut tidak lagi aktif. Secara default, file log disimpan di direktori /logs.

Peringatan

Semua log, plugin, dan file konfigurasi disimpan di folder agent. Jangan mengubah struktur folder tersebut.

Dapatkan titik akhir

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 Mulai Integrasi, 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 akhir.

    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 sebelah 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 akhir.

    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 layanan Pemantauan Kinerja Aplikasi (APM) populer yang dikembangkan di Tiongkok. SkyWalking dirancang untuk arsitektur layanan mikro, cloud-native, dan berbasis kontainer, termasuk Docker, Kubernetes, dan Mesos. SkyWalking juga merupakan sistem pelacakan terdistribusi.

Sebelum Anda dapat menggunakan SkyWalking untuk melaporkan data aplikasi Java ke konsol Managed Service for OpenTelemetry, Anda harus menginstrumentasi aplikasi terlebih dahulu. SkyWalking menyediakan instrumentasi otomatis untuk berbagai framework dan library, termasuk Dubbo, gRPC, JDBC, OkHttp, Spring, Tomcat, Struts, dan Jedis. SkyWalking juga memungkinkan instrumentasi manual berdasarkan standar OpenTracing. Topik ini menjelaskan cara menginstrumentasi aplikasi secara otomatis.

Kode contoh

Untuk informasi lebih lanjut tentang repositori kode contoh, lihat SkyWalking Demo.

Gunakan SkyWalking untuk menginstrumentasi aplikasi Java secara otomatis

  1. Unduh SkyWalking Java Agent.

  2. Ubah file konfigurasi SkyWalking Java Agent untuk mengatur informasi akses dan informasi aplikasi.

    collector.backend_service=<endpoint> // Ganti dengan informasi titik akhir yang diperoleh dari kondisi lain.
    agent.authentication=<token> // Ganti dengan token otentikasi yang diperoleh dari prasyarat.
    agent.service_name=<Service Name> // Ganti dengan nama aplikasi aktual Anda.
  3. Gunakan salah satu metode berikut untuk menentukan jalur ke SkyWalking Agent berdasarkan lingkungan runtime aplikasi:

    Catatan

    Ganti <skywalking-agent-path> dalam kode contoh berikut dengan jalur mutlak ke file skywalking-agent.jar di folder agent.

    Linux Tomcat 7 / Tomcat 8

    Tambahkan konten berikut sebagai baris pertama dalam file tomcat/bin/catalina.sh:

    CATALINA_OPTS="$CATALINA_OPTS -javaagent:<skywalking-agent-path>"; export CATALINA_OPTS

    Windows Tomcat 7 / Tomcat 8

    Tambahkan konten berikut sebagai baris pertama dalam file tomcat/bin/catalina.bat:

    set "CATALINA_OPTS=-javaagent:<skywalking-agent-path>"

    File JAR atau Spring Boot

    Tambahkan parameter -javaagent ke perintah startup aplikasi.

    Penting

    Parameter -javaagent harus ditulis sebelum parameter -jar.

    java -javaagent:<skywalking-agent-path> -jar yourApp.jar

    Jetty

    Tambahkan konten berikut ke file konfigurasi {JETTY_HOME}/start.ini:

    --exec
    -javaagent:<skywalking-agent-path>
  4. Mulai ulang aplikasi.

Atribut yang dapat dikonfigurasi pada Agen Java SkyWalking

Agen Java SkyWalking mendukung berbagai atribut yang dapat dikonfigurasi. Untuk informasi lebih lanjut, lihat file config/agent.config dalam kode contoh.

Sebagian atribut Agen Java SkyWalking

Tabel berikut menjelaskan sebagian atribut Agen Java SkyWalking versi 8.16.0.

Bentangkan untuk melihat atribut Agen Java SkyWalking

Atribut

Deskripsi

Nilai default

agent.namespace

Namespace yang digunakan untuk mengisolasi header dalam propagasi lintas proses. Jika Anda mengonfigurasi atribut ini, nama headernya menjadi HeaderName:Namespace.

Tidak ditentukan

agent.service_name

Nama layanan yang ditampilkan di UI SkyWalking. Versi 5.x sesuai dengan Application dan versi 6.x sesuai dengan Service. Kami menyarankan Anda menentukan nama unik untuk setiap layanan. Beberapa instans layanan berbagi nama yang sama.

Your_ApplicationName

agent.sample_n_per_3_secs

Bilangan negatif atau 0 menunjukkan bahwa tidak ada data sampel yang dikumpulkan. Secara default, tidak ada data sampel yang dikumpulkan. SAMPLE_N_PER_3_SECS menunjukkan bahwa N catatan data sampel dikumpulkan setiap 3 detik.

Tidak ditentukan

agent.authentication

Otentikasi diaktifkan berdasarkan konfigurasi backend. Anda dapat melihat token otentikasi titik akhir server. Ekstensi backend diperlukan untuk sebagian besar skenario. Hanya fitur otentikasi dasar yang diimplementasikan.

Tidak ditentukan

agent.span_limit_per_segment

Jumlah maksimum rentang dalam satu segmen. Jika atribut ini dikonfigurasi, SkyWalking dapat menilai penggunaan memori aplikasi.

Tidak ditentukan

agent.ignore_suffix

Jika nama operasi rentang pertama termasuk dalam koleksi ini, segmen ini diabaikan.

Tidak ditentukan

agent.is_open_debugging_class

Jika Anda mengatur atribut ini ke true, agen SkyWalking menyimpan semua file kelas yang diinstrumentasi ke folder /debugging. Tim SkyWalking mungkin meminta Anda menyediakan file-file kelas ini untuk menyelesaikan masalah kompatibilitas.

Tidak ditentukan

agent.cause_exception_depth

Kedalaman stack yang perlu direkam oleh agen SkyWalking saat merekam pengecualian.

5

agent.force_reconnection_period

Periode reconnect paksa gRPC berdasarkan nilai atribut grpc_channel_check_interval.

1

agent.operation_name_threshold

Panjang maksimum nama operasi. Nama operasi dapat memiliki panjang hingga 190 karakter.

150

agent.keep_tracing

Jika Anda mengatur atribut ini ke true, agen SkyWalking terus mengumpulkan data meskipun layanan backend tidak tersedia.

false

osinfo.ipv4_list_size

Jumlah maksimum alamat IPv4.

10

collector.grpc_channel_check_interval

Interval pemeriksaan status channel gRPC.

30

collector.backend_service

Alamat backend collector yang menerima data jejak SkyWalking.

127.0.0.1:11800

collector.heartbeat_period

Periode pelaporan heartbeat agen SkyWalking. Satuan: detik.

30

collector.grpc_upstream_timeout

Periode timeout selama klien gRPC mengirim data ke aplikasi upstream. Satuan: detik.

30

collector.get_profile_task_interval

Interval agen SkyWalking melakukan kueri terhadap tugas yang dijalankan untuk mengonfigurasi file.

20

logging.level

Tingkat log. Nilai default: DEBUG.

DEBUG

logging.file_name

Nama file log.

skywalking-api.log

logging.output

Mode ekspor log. Secara default, log diekspor sebagai file. Jika Anda menggunakan konsol untuk mengekspor log, log diekspor dalam mode standar. Jika Anda menjalankan perintah untuk mengekspor log, log diekspor langsung.

FILE

logging.dir

Direktori tempat log disimpan. Nilai default adalah string kosong. Ini menunjukkan bahwa log disimpan di direktori "system.out".

""

logging.pattern

Format log. Spesifikasi konversi format yang didukung:

  • %level: tingkat log.

  • %timestamp: waktu saat ini, dalam format yyyy-MM-dd HH:mm:ss:SSS.

  • %thread: nama thread saat ini.

  • %msg: pesan yang direkam.

  • %class: nama sederhana kelas.

  • %throwable: pengecualian yang dilemparkan pengguna.

  • %agent_name: nama agen.

%level %timestamp %thread %class : %msg %throwable

logging.max_file_size

Ukuran maksimum file log. Jika ukuran file log melebihi ambang batas, file log saat ini diarsipkan dan log ditulis ke file baru.

300 * 1024 * 1024

logging.max_history_files

Jumlah maksimum file log historis. Secara default, bilangan negatif atau 0 menunjukkan bahwa jumlah file log historis tidak dibatasi.

-1

Metode konfigurasi

Atribut sistem

Gunakan -Dskywalking. diikuti kunci dari file konfigurasi agent.config. Contoh kode:

# Konfigurasikan atribut agent.service_name menggunakan atribut sistem.
java -javaagent:/path/to/skywalking-agent.jar -Dskywalking.agent.service_name=<your_service_name> -jar your-project.jar

Opsi proxy

Tambahkan atribut setelah jalur proxy dalam parameter JVM.

# Template
-javaagent:/path/to/skywalking-agent.jar=[key1]=[value1],[key2]=[value2]

# Contoh
java -javaagent:/path/to/skywalking-agent.jar=agent.service_name=<your-service-name>,agent.authentication=<your-token> -jar your-project.jar

Variabel lingkungan sistem

Konfigurasikan atribut sebagai variabel lingkungan sistem. Agen SkyWalking secara otomatis membaca variabel lingkungan sistem tersebut. Anda dapat menemukan variabel lingkungan sistem yang sesuai dengan atribut tertentu di file config/agent.config. Misalnya, atribut agent.service_name sesuai dengan variabel lingkungan sistem SW_AGENT_NAME.

agent.service_name=${SW_AGENT_NAME:default_name}

# Konfigurasikan variabel lingkungan.
export SW_AGENT_NAME=<your_service_name>

Preseden

Prioritas metode konfigurasi di atas dari yang tertinggi ke terendah adalah opsi proxy, properti sistem, variabel lingkungan sistem, dan file konfigurasi.

Plugin Agen Java SkyWalking

Agen Java SkyWalking mendukung berbagai middleware, framework, dan repositori. Untuk informasi lebih lanjut tentang plugin yang didukung, lihat folder /plugins dalam kode contoh.

Aktifkan plugin

Semua plugin di folder /plugins diaktifkan secara default. Jika paket JAR plugin dihapus dari folder tersebut, plugin tersebut tidak lagi tersedia.

Plugin resmi yang didukung

Plugin resmi yang didukung tersedia di folder /plugins.

Plugin opsional

Plugin Agen Java SkyWalking bersifat plug-and-play. Plugin opsional tersedia di folder optional-plugins pada repositori pihak ketiga atau agen. Untuk menggunakan plugin opsional, pindahkan plugin tersebut ke folder /plugins.image.png

Plugin Bootstrap

Semua plugin Bootstrap bersifat opsional karena risiko tak terduga. Plugin Bootstrap tersedia di folder bootstrap-plugins. Jika ingin menggunakannya, tambahkan paket JAR plugin tersebut ke folder /plugins.image.png

Plugin yang didukung

Tim resmi SkyWalking berpendapat bahwa plugin berikut dapat memengaruhi kinerja SkyWalking dan membatasi penggunaannya. Oleh karena itu, plugin tersebut hanya dirilis di repositori pihak ketiga. Untuk informasi lebih lanjut, lihat java-plugin-extensions di GitHub.

Bentangkan untuk melihat plugin

Framework

Versi plug-in

HTTP Server

Tomcat 7

Tomcat 8

Tomcat 9

Spring Boot Web 4.x

Spring MVC 3.x, 4.x, dan 5.x dengan servlet 3.x

Nutz Web Framework 1.x

Struts2 MVC dalam rentang versi 2.3.x hingga 2.5.x

Resin 3

Resin 4

Jetty Server 9

Spring Webflux 5.x

Undertow dalam rentang versi 2.0.0.Final hingga 2.0.13.Final

RESTEasy dalam rentang versi 3.1.0.Final hingga 3.7.0.Final

Play Framework dalam rentang versi 2.6.x hingga 2.8.x

Light4J Microservices Framework dalam rentang versi 1.6.x hingga 2.x

Netty SocketIO 1.x

HTTP Client

Feign 9.x

Netflix Spring Cloud Feign 1.1.x, 1.2.x, dan 1.3.x

Okhttp 3.x

Apache httpcomponent HttpClient 4.2 dan 4.3

Spring RestTemplete 4.x

Jetty Client 9

Apache httpcomponent AsyncClient 4.x

HTTP Gateway

Spring Cloud Gateway 2.1.x.RELEASE

JDBC

MySQL Driver 5.x, 6.x, dan 8.x

Oracle Driver

H2 Driver dalam rentang versi 1.3.x hingga 1.4.x

Sharding-JDBC 1.5.x

ShardingSphere 3.0.0

ShardingSphere 3.0.0 dan 4.0.0-RC1

PostgreSQL Driver 8.x, 9.x, dan 42.x

Mariadb Driver 2.x dan 1.8

Framework RPC

Dubbo dalam rentang versi 2.5.4 hingga 2.6.0

Dubbox 2.8.4

Apache Dubbo 2.7.0

Motan dalam rentang versi 0.2.x hingga 1.1.0

gRPC 1.x

Apache ServiceComb Java Chassis dalam rentang versi 0.1 hingga 0.5 dan 1.0.x

SOFARPC 5.4.0

Armeria dalam rentang versi 0.63.0 hingga 0.98.0

Apache Avro dalam rentang versi 1.7.0 hingga 1.8.x

Finagle dalam rentang versi 6.25.0 hingga 20.1.0

MQ

RocketMQ 4.x

Kafka dalam rentang versi 0.11.0.0 hingga 1.0

ActiveMQ 5.x

RabbitMQ 5.x

Pulsar dalam rentang versi 2.2.x hingga 2.4.x

NoSQL

Redis

Jedis 2.x

Redisson Easy Java Redis client 3.5.2 atau lebih baru

Lettuce 5.x

MongoDB

MongoDB Java Driver 2.13, 2.14, dan 3.3 atau lebih baru

Memcached Client

Spymemcached 2.x

Xmemcached 2.x

Elasticsearch

transport-client dalam rentang versi 5.2.x hingga 5.6.x

transport-client dalam rentang versi 6.7.1 hingga 6.8.4

rest-high-level-client dalam rentang versi 6.7.1 hingga 6.8.4

SolrJ dalam rentang versi 7.0.0 hingga 7.7.1

SolrJ 7.x

Cassandra 3.x

cassandra-java-driver dalam rentang versi 3.7.0 hingga 3.7.2

Service discovery

Netflix Eureka

Koordinasi terdistribusi

ZooKeeper 3.4.x (kecuali 3.4.4)

Ekosistem Spring

Spring Bean annotations(@Bean, @Service, @Component, @Repository) 3.x dan 4.x

Spring Core Async SuccessCallback/FailureCallback/ListenableFutureCallback 4.x

Hystrix dalam rentang versi 1.4.20 hingga 1.5.12 untuk latensi sistem terdistribusi dan toleransi kesalahan

Scheduler

Elastic Job 2.x

Dukungan komunitas OpenTracing

Canal dalam rentang versi 1.0.25 hingga 1.1.2: Komponen berbasis binlog MySQL yang dikembangkan oleh Alibaba Cloud untuk sinkronisasi data inkremental dan konsumsi

JSON

GSON 2.8.x

Ekosistem Vert.x

Vert.x Eventbus 3.2 atau lebih baru

Vert.x Web 3.x

Framework penjadwalan thread

Spring @Async 4.x dan 5.x

Cache

Ehcache 2.x

Kotlin

Coroutine dalam rentang versi 1.0.1 hingga 1.3.x

Kembangkan plugin

Untuk membuat plugin kustom Agen Java SkyWalking, rujuk ke dokumentasi resmi SkyWalking.

Managed Service for OpenTelemetry mendukung pelaporan jejak. Untuk membuat plugin jejak kustom, rujuk ke dokumentasi resmi SkyWalking.

FAQ

T: Mengapa saya tidak dapat membuat aplikasi setelah SkyWalking terhubung ke server?

J: Data mungkin belum dilaporkan ke Managed Service for OpenTelemetry. Periksa apakah data telah dilaporkan ke layanan tersebut, misalnya dengan melihat isi file {skywalking agent path}/logs/skywalking-api.log. Jika data berhasil dilaporkan, gambar berikut akan ditampilkan.pg_xtrace_skywalking

Data mungkin tidak dilaporkan karena alasan berikut: pengambilan sampel diaktifkan, data difilter, atau permintaan untuk menggunakan Managed Service for OpenTelemetry belum dipicu.