Integrasikan tracing end-to-end dengan tugas terjadwal Anda untuk mengkueri durasi eksekusi tugas dan menganalisis pengecualian eksekusi. Dalam skenario layanan mikro terdistribusi, rantai panggilan suatu tugas terjadwal umumnya lebih panjang daripada layanan real-time, dan visualisasi tracing menunjukkan cara setiap node layanan dalam rantai tersebut berjalan.
Batasan
Tracing end-to-end hanya didukung untuk jenis tugas berikut: tugas standalone (termasuk tugas HTTP), tugas broadcast, dan tugas Map tervisualisasi. Pastikan jenis tugas Anda didukung sebelum mengonfigurasi integrasi.
Prasyarat
Versi client SchedulerX adalah 1.7.0 atau yang lebih baru.
Client SchedulerX menyertakan dependensi plugin trace. Untuk petunjuknya, lihat Tambahkan dependensi plugin trace.
Aplikasi menggunakan Edisi Profesional. Untuk petunjuknya.
Langkah 1: Pilih metode integrasi
Mode penyebaran dan backend tracing Anda menentukan cara aplikasi melaporkan data jejak serta plugin trace mana yang harus Anda tambahkan di Langkah 2. Pilih metode yang sesuai dengan pengaturan saat ini:
Pengaturan saat ini | Metode |
Aplikasi sudah berjalan di EDAS. | Opsi 1 (disarankan) |
Aplikasi berjalan di luar EDAS, dan Anda menggunakan ARMS sebagai backend tracing. | Opsi 2 |
Anda sudah menjalankan platform tracing mandiri, seperti SkyWalking. | Opsi 3 |
Opsi 1: Sebarkan aplikasi di EDAS (disarankan)
Gunakan metode ini jika layanan aplikasi Anda sudah berjalan di EDAS atau jika Anda berencana menyebarkannya di EDAS. Aplikasi yang diterapkan di EDAS secara otomatis mengintegrasikan tracing end-to-end, sehingga tidak diperlukan instalasi agen.
Jika Anda sudah menggunakan EDAS untuk menerapkan layanan aplikasi, integrasi tracing end-to-end sudah aktif. Lewati langkah penerapan di bagian ini.
Jika Anda belum menggunakan EDAS, aktifkan EDAS dan terapkan aplikasi Anda di sana. Aplikasi yang diterapkan di EDAS mengintegrasikan tracing end-to-end tanpa konfigurasi tambahan. Untuk petunjuknya, lihat Memulai dengan EDAS.
Opsi 2: Instal agen ARMS pada penyebaran standalone
Gunakan metode ini jika Anda menerapkan aplikasi sendiri dan menggunakan ARMS sebagai backend tracing. Selesaikan langkah-langkah berikut dalam proses integrasi aplikasi ARMS:
Unduh paket JAR yang diperlukan sesuai petunjuk.
Konfigurasikan informasi aplikasi yang sesuai.
Tambahkan konfigurasi agen Java ARMS ke skrip startup aplikasi.
Jalankan aplikasi. Integrasi akan berlaku setelah startup.
Untuk petunjuknya, lihat Instal agen ARMS secara manual.
Opsi 3: Hubungkan ke platform tracing mandiri
Gunakan metode ini jika Anda sudah menjalankan platform tracing end-to-end mandiri. Langkah-langkah berikut menggunakan SkyWalking, platform mandiri yang umum digunakan.
Unduh paket instalasi agen SkyWalking dan selesaikan konfigurasinya.
Tambahkan parameter JVM berikut ke skrip startup aplikasi Java:
-javaagent:{agent.path}/skywalking-agent.jar.Saat menambahkan dependensi plugin trace di Langkah 2, gunakan plugin SkyWalking alih-alih plugin OpenTelemetry, seperti yang ditunjukkan pada contoh berikut.
<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx-plugin-trace-skywalking</artifactId> <version>{latest_version}</version> </dependency>
Langkah 2: Tambahkan dependensi plugin trace
Tambahkan dependensi ke file pom.xml aplikasi Anda. Contoh berikut menggunakan starter Spring Boot dengan plugin trace OpenTelemetry. Jika Anda menghubungkan platform SkyWalking mandiri (Opsi 3), gunakan plugin trace SkyWalking sebagai gantinya.
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx2-spring-boot-starter</artifactId>
<version>{latest_version}</version>
<!-- Jika Anda menggunakan logback, kecualikan log4j dan log4j2. -->
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Tambahkan dependensi plugin trace OpenTelemetry. -->
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx-plugin-trace-opentelemetry</artifactId>
<version>{latest_version}</version>
</dependency>
<!-- Jika Anda menggunakan SkyWalking, gunakan plugin ini sebagai gantinya. -->
<!--<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx-plugin-trace-skywalking</artifactId>
<version>{latest_version}</version>
</dependency>-->Langkah 3: Lihat rantai panggilan
Setelah menyelesaikan konfigurasi dan penerapan aplikasi sebelumnya, visualisasi tracing end-to-end tersedia ketika tugas terjadwal jenis yang didukung dijalankan. Jalankan tugas tersebut, lalu ikuti prosedur berikut untuk membuka rantai panggilannya di konsol.
Pengumpulan data jejak end-to-end menggunakan laju pengambilan sampel default, sehingga tidak semua rantai panggilan dikumpulkan. Anda dapat mengatur laju pengambilan sampel berdasarkan skenario bisnis Anda.
Masuk ke Konsol MSE SchedulerX.
Di bilah menu atas, pilih wilayah.
Di panel navigasi sebelah kiri, klik Execution List, pilih tab Task instance List, lalu gunakan jalur untuk jenis tugas Anda di kolom Actions.
Tugas standalone
Klik Tracing Analysis, atau klik Details lalu klik TraceId untuk membuka rantai panggilan eksekusi tersebut. Tugas HTTP standalone juga didukung karena aplikasi tempat layanan tersebut berada telah diterapkan dengan kemampuan tracing end-to-end (dengan dukungan OpenTelemetry).
Tugas broadcast
Klik Details. Di halaman Task instance details, klik Current execution details. TraceId ditampilkan untuk setiap mesin. Klik TraceId untuk melihat rantai panggilan mesin tersebut.
Tugas Map tervisualisasi
Klik Details. Di halaman Task instance details, klik Subtask list. Tugas Map tervisualisasi menyediakan visualisasi rantai panggilan untuk setiap subtask dalam catatan eksekusi. Di daftar subtask pada detail catatan eksekusi, lihat TraceId setiap subtask dan klik untuk melihat rantai panggilannya.