Pada tab Custom Configuration, Anda dapat menyesuaikan pengaturan umum seperti sakelar fitur agent dan kebijakan sampling.
Untuk menyesuaikan pengaturan ini menggunakan API, lihat SaveTraceAppConfig.
Prasyarat
Agent telah diinstal untuk aplikasi Anda. Untuk informasi selengkapnya, lihat application monitoring integration overview.
Prosedur
-
Masuk ke ARMS console. Di panel navigasi kiri, pilih .
-
Di panel navigasi kiri, klik Application Settings, lalu klik tab Custom Configurations.
-
Tetapkan parameter konfigurasi kustom, lalu klik Save di bagian bawah halaman.
Pengaturan laju sampling
ARMS Pro Edition
Pada bagian Sampling Rate Setting, Anda dapat mengonfigurasi kebijakan sampling dan menentukan antarmuka yang akan disampling untuk jejak. Untuk informasi selengkapnya, lihat Select a trace sampling mode (for agent versions earlier than 3.2.8).
Laju sampling jejak memiliki prioritas lebih tinggi daripada ambang batas pembatasan kecepatan.
Anda dapat mengonfigurasi parameter berikut: Sampling Rate Mode (mendukung laju sampling tetap, memerlukan agent v2.8.3 atau lebih baru), Sampling Rate Setting (default: 10), Interfaces to Sample (mendukung pemilihan antarmuka spesifik, memerlukan agent v3.2.0 atau lebih baru), serta awalan dan akhiran untuk antarmuka yang disampling.
ARMS Basic Edition
ARMS Basic Edition mendukung kebijakan sampling sisi klien, dengan penagihan berdasarkan jumlah baris data yang dikumpulkan. Secara default, ARMS mengumpulkan satu jejak per menit untuk setiap antarmuka dari setiap agent secara gratis. Anda juga dapat mengklik Add Client Sampling Policy untuk menambahkan kebijakan sampling kustom.
|
Parameter |
Deskripsi |
|
Policy Name |
Nama kustom untuk kebijakan sampling. |
|
Sampling Type dan Samples |
|
|
Applicable interface |
Tentukan cakupan penerapan kebijakan sampling. Anda dapat memilih per span atau memilih Specify a span dan masukkan nama antarmuka. Catatan
Saat ini, setiap kebijakan sampling hanya mendukung satu nama antarmuka. Untuk melakukan sampling jejak pada beberapa antarmuka, Anda harus mengonfigurasi beberapa kebijakan sampling. |
Setelah mengonfigurasi kebijakan sampling, Anda dapat mengaktifkan atau menonaktifkannya di Konsol. Beberapa kebijakan sampling dapat berlaku secara bersamaan dengan prioritas sebagai berikut: sampling default (gratis) > batas lalu lintas untuk satu antarmuka > sampling proporsi tetap untuk satu antarmuka > batas lalu lintas untuk semua antarmuka > sampling proporsi tetap untuk semua antarmuka. Anda juga dapat mengedit kebijakan sampling yang ada atau menghapus kebijakan yang tidak lagi diperlukan.
Fitur ini memerlukan agent v2.7.1.3 atau lebih baru. Daftar kebijakan ditampilkan dalam tabel yang mencakup kolom seperti nama kebijakan, ruang lingkup yang berlaku, batas lalu lintas, sampling proporsi tetap, status aktif, dan aksi.
Sakelar agent dan tingkat log
Pada bagian Agent Switch Settings, Anda dapat mengaktifkan atau menonaktifkan sakelar utama agent dan sakelar plug-in individual, serta mengonfigurasi tingkat log.
Perubahan pada sakelar utama agent dan tingkat log berlaku segera tanpa perlu restart aplikasi. Jika Anda menonaktifkan sakelar utama agent, sistem tidak dapat lagi memantau aplikasi Anda. Lakukan dengan hati-hati. Untuk menerapkan perubahan pada sakelar plug-in, Anda harus melakukan restart aplikasi secara manual.
Sakelar plug-in yang didukung meliputi: dubbo-plugin, mongodb-plugin, ali-hsf-plugin, httpclient3-plugin, httpclient4-plugin, jdk-http-plugin, jetty-plugin, mybatis-plugin, mysql-plugin, okhttp-plugin, oracle-plugin, postgresql-plugin, redis-plugin, spring-plugin, springboot-plugin, tomcat-plugin, lettuce-plugin, grpc-plugin, thrift-plugin, google-httpclient-plugin, hystrix-plugin, dan rxjava-plugin. Tingkat log default adalah WARN.
Pengaturan ambang batas
Pada bagian Threshold Settings, Anda dapat mengonfigurasi ambang batas untuk kueri SQL lambat.
Ambang batas kueri SQL lambat diukur dalam milidetik (ms) dan default-nya adalah 500 ms. Kueri SQL dianggap sebagai kueri SQL lambat jika waktu eksekusinya melebihi ambang batas ini.
Konfigurasi antrian pesan
Pada bagian Message Queue Configurations, Anda dapat mengonfigurasi parameter terkait pesan.
Pengaturan Custom RabbitMQ Consumer dan Custom Kafka Consumption Method memerlukan agent v4.x atau lebih baru dan berlaku setelah Anda melakukan restart aplikasi. Pengaturan Automatic Context Propagation for Kafka Messages hanya didukung untuk Kafka v0.11.0 atau lebih baru.
-
Custom RabbitMQ consumer: Dengan mengatur nama kelas konsumen kustom atau kelas yang berisi konsumen inner anonim, Anda dapat melihat rantai panggilan konsumen tersebut. Pisahkan beberapa nama konsumen dengan koma (,).
-
Custom Kafka consumption method: Dengan menentukan metode konsumsi kustom, Anda dapat melihat rantai panggilan dan metrik saat mengonsumsi pesan menggunakan SDK Kafka native.
-
Automatically propagate context for Kafka messages: Saat mengirim pesan, agent secara otomatis menambahkan beberapa header ke pesan Kafka untuk menghubungkan rantai panggilan pengirim dan rantai panggilan penerima.
Pengaturan pengumpulan agent
Pengaturan Collect Traces memerlukan agent v4.2.0 atau lebih baru. Ambang batas Agent Maximum QPS Threshold default-nya adalah 10.000 dan memerlukan agent v4.1.10 atau lebih baru. Log Level default-nya adalah WARN.
-
Collect traces: Mengontrol apakah data jejak dilaporkan. Fitur ini diaktifkan secara default. Jika dinonaktifkan, data jejak tidak akan dilaporkan lagi.
-
Throttling threshold: Jumlah maksimum permintaan yang dapat diproses agent per detik. Default-nya adalah 100. Jejak untuk permintaan yang melebihi ambang batas ini tidak dikumpulkan.
CatatanLaju sampling jejak memiliki prioritas lebih tinggi daripada ambang batas pembatasan kecepatan.
-
Agent maximum QPS threshold: Jumlah permintaan yang dapat ditangani agent per detik. Untuk alasan performa, ambang batas efektif dapat menyimpang hingga 5% dari ambang batas yang dikonfigurasi. Permintaan yang melebihi ambang batas ini tidak akan dipantau, artinya tidak ada rentang atau metrik yang dihasilkan, dan asosiasi ID log-ke-jejak tidak akan berfungsi.
-
Collect data for internal calls without entry points: Panggilan internal tanpa titik masuk biasanya mengacu pada data rentang dan metrik yang dihasilkan oleh tugas terjadwal yang mengirim permintaan HTTP, berinteraksi dengan database, mengirim pesan, atau melakukan panggilan RPC yang dimulai melalui kolam thread JDK.
-
Log level: Menyesuaikan tingkat pencatatan log agent untuk troubleshooting.
Pengaturan panggilan API
-
Interface response time threshold: Ketika waktu respons antarmuka melebihi ambang batas ini, sistem menandai antarmuka tersebut sebagai panggilan lambat.
-
Exception filtering: ARMS tidak menampilkan exception yang Anda masukkan di sini pada grafik di halaman detail aplikasi dan analisis exception.
-
Inherit exception filter for parent classes: Jika Anda mengaktifkan opsi ini dan exception yang dikumpulkan merupakan subkelas dari kelas exception yang dikonfigurasi dalam exception filter allowlist, ARMS juga akan menyaringnya.
Akibatnya, exception yang memenuhi kriteria penyaringan tidak akan muncul di Konsol ARMS.
-
Error count filtering: Secara default, ARMS menghitung kode status yang lebih besar dari 400 sebagai error. Anda dapat menyesuaikan kode status HTTP mana yang lebih besar dari 400 yang tidak dihitung sebagai error.
-
Invalid interface call filtering: Masukkan antarmuka yang tidak perlu dipantau. Agent tidak akan melaporkan data observabilitas untuk antarmuka tersebut, sehingga antarmuka tersebut disembunyikan dari halaman panggilan antarmuka.
-
Record upstream interface name in metrics dan Record upstream application name in metrics:
Mengontrol apakah metrik antarmuka mencatat aplikasi dan antarmuka hulu yang memanggil antarmuka saat ini. Hal ini terutama memengaruhi ketersediaan data hulu dan hilir untuk dependensi layanan. Ketika sebuah aplikasi memiliki banyak pemanggil hulu, pencatatan informasi ini dapat meningkatkan volume metrik yang dilaporkan dan biaya terkait secara signifikan.
-
Record original status code in metrics: Mencatat kode respons asli dalam metrik terkait antarmuka HTTP.
Pengaturan pemantauan kolam
Pengaturan Thread Pool and Connection Pool Monitoring memerlukan agent v2.7.3.5 atau lebih baru dan berlaku setelah aplikasi direstart. Pengaturan Thread Name Pattern Extraction Policy for Thread Pools memerlukan agent v4.1.10 atau lebih baru.
-
Thread pool and connection pool monitoring: Mendukung pemantauan metrik kolam thread untuk framework seperti Tomcat, Dubbo, dan High-speed Service Framework (HSF). Memerlukan peningkatan ke versi agent terbaru.
-
Thread name pattern extraction policy for thread pools: Secara default, fitur ini mengganti semua karakter numerik dalam nama thread dari thread yang sedang berjalan di kolam thread dengan
*. Anda juga dapat menyesuaikannya agar hanya mengganti karakter akhir nama thread dengan*. Jika aplikasi Anda menjalankan beberapa penyedia Dubbo yang mendengarkan port berbeda, kebijakan default dapat menggabungkan kolam thread mereka menjadi satu karena templat nama thread yang diekstraksi identik. Dalam kasus ini, sesuaikan kebijakan untuk membedakannya sebagai kolam thread terpisah. -
Filter by thread pool usage scenario dan Filter by thread pool name pattern: Menyaring metrik pemantauan untuk kolam thread tertentu berdasarkan skenario penggunaan dan pola nama thread.
CatatanKonfigurasi ini hanya berlaku untuk Java agent v4.2.0 dan lebih baru.
-
Thread pool usage scenario: Konteks penggunaan thread. Skenario yang didukung meliputi Tomcat, Vert.x, Undertow, Dubbo, Jetty, AliyunJavaAgent, dan default. AliyunJavaAgent merepresentasikan kolam thread yang digunakan oleh agent, dan default merepresentasikan kolam thread lain yang tidak terklasifikasi.
-
Thread pool name pattern: Pola yang diperoleh dari pemrosesan nama thread di kolam. Misalnya, http-nio-*-exec-* biasanya diperoleh dengan mengganti bagian numerik nama thread aktual dengan *.
-
Pengaturan atribut rentang
Kedua pengaturan berikut memerlukan agent v4.x atau lebih baru. Record OpenTelemetry Specification Attributes dinonaktifkan secara default. Pengaturan Application Tag Association for Spans default-nya adalah All Spans.
-
Record OpenTelemetry specification attributes: OpenTelemetry Specification mendefinisikan atribut yang harus disertakan dalam rentang yang dihasilkan oleh setiap jenis plug-in. Untuk mengurangi volume data, agent ARMS tidak mencatat atribut ini secara default. Anda dapat mengaktifkan pengaturan ini sesuai kebutuhan. Untuk informasi tentang atribut yang ditambahkan untuk setiap framework setelah pengaturan ini diaktifkan, lihat OpenTelemetry Specification.
-
Application tag association for spans: Mengontrol rentang mana yang menyertakan tag yang telah Anda ikat ke aplikasi di halaman application list di Konsol. Secara default, semua rentang menyertakan tag aplikasi. Untuk mengelola penggunaan data, Anda dapat memilih untuk melampirkan tag aplikasi hanya pada rentang entri. Rentang entri biasanya mencakup HTTP Server, RPC Server, konsumsi pesan MQ, dan tugas terjadwal.
Pengaturan lanjutan
-
Maximum method stack length: Default-nya adalah 128, dan maksimumnya adalah 400.
-
Stack depth for exception differentiation: Pengaturan ini menentukan kedalaman stack untuk membedakan exception dari jenis yang sama. Biasanya diatur ke kedalaman panggilan pertama yang berbeda.
-
Maximum SQL length: Default-nya adalah 1.024 karakter, dengan minimum 256 dan maksimum 4.096.
-
Collect SQL bind values: Menangkap nilai variabel yang diikat ke parameter PreparedStatement. Fitur ini berlaku tanpa restart aplikasi dan saat ini hanya mendukung skenario di mana Anda mengatur nilai variabel SQL dalam PreparedStatement.
-
Original SQL Statements: Hanya memotong pernyataan SQL tanpa pemrosesan tambahan.
-
Record MySQL query return value size: Saat diaktifkan, ARMS mencatat ukuran nilai kembali kueri MySQL.
-
New trace storage format: Menggunakan format penyimpanan baru yang mendukung pengurutan jejak berdasarkan waktu (diaktifkan secara default).
-
Trace compression: Menyederhanakan jejak dengan menggabungkan panggilan berulang, seperti yang ada dalam for-loop. Fitur ini berlaku tanpa restart aplikasi.
-
Maximum length of request parameters: Default-nya adalah 512 karakter, dan panjang maksimum yang didukung adalah 2.048 karakter.
-
Quantile statistics: Mengaktifkan fitur statistik kuantil.
CatatanKuantil adalah titik yang membagi rentang distribusi probabilitas variabel acak menjadi interval kontinu dengan probabilitas yang sama. Kuantil umum meliputi median (2-kuantil), kuartil, dan persentil.
-
Automatic async propagation: Secara otomatis menyebarkan konteks asinkron saat tugas asinkron diajukan melalui kolam thread.
-
Packages to scan for async propagation: Tambahkan paket untuk dipindai guna mengaktifkan pemantauan tugas asinkron. Saat objek baru yang mengimplementasikan antarmuka Runnable, Callable, atau Supplier dibuat dalam paket yang dipindai, agent secara otomatis menangkap konteks jejak thread saat ini. Saat thread asinkron dieksekusi, konteks ini digunakan untuk menyelesaikan keterkaitan jejak. Memerlukan agent v2.7.1.3 atau lebih baru.
-
Return trace ID in response: Hanya untuk permintaan HTTP, pengaturan ini menambahkan bidang
eagleeye-traceidke header respons.
Pengaturan thread
Pada bagian Thread settings, Anda dapat mengaktifkan atau menonaktifkan sakelar utama untuk analisis thread.
Fitur ini hanya tersedia di ARMS Pro Edition.
Mulai dari agent v4.x, karena perubahan implementasi, fitur ini dikontrol oleh sakelar hotspot CPU dalam continuous profiling.
Konfigurasi asosiasi log
Pada bagian Application Log Association, Anda dapat mengonfigurasi informasi sumber log yang diasosiasikan dengan aplikasi. Untuk informasi selengkapnya, lihat log analysis.
Fitur ini hanya tersedia di ARMS Pro Edition.
Anda dapat mengasosiasikan log dengan Log Service (SLS) dengan mengonfigurasi Project dan Logstore yang sesuai. Anda juga dapat mengaktifkan penghitungan error berdasarkan log, serta mengonfigurasi asosiasi tag kustom dan jalur log.
Aturan konvergensi URL
Pada bagian URL Convergence Settings, Anda dapat mengaktifkan atau menonaktifkan fitur konvergensi URL serta mengonfigurasi ambang batas dan aturannya. Konvergensi URL mengelompokkan URL serupa untuk menampilkannya sebagai satu item. Misalnya, serangkaian URL yang dimulai dengan /service/demo/ dapat dikelompokkan. Ambang batas konvergensi adalah jumlah minimum URL yang diperlukan untuk memicu konvergensi. Misalnya, jika ambang batasnya adalah 100, sistem akan mengonvergensikan URL yang cocok dengan regex aturan hanya ketika jumlahnya mencapai 100.
Ambang batas konvergensi default adalah 1.000. Konvergensi terjadi ketika jumlah URL yang cocok dengan regex melebihi ambang batas ini. Aturan konvergensi mendukung regex. Pisahkan beberapa aturan dengan koma (,), misalnya, /service/(*?)/demo.
Pemantauan Arthas
Pada bagian Arthas Monitoring, Anda dapat mengaktifkan atau menonaktifkan fitur diagnostik Arthas dan menentukan alamat IP tempat fitur tersebut diaktifkan. Untuk informasi selengkapnya, lihat Arthas diagnostics.
Fitur ini hanya tersedia di ARMS Pro Edition.
Fitur ini memerlukan agent v2.7.1.3 atau lebih baru. Anda dapat menentukan alamat IP tempat diagnostik Arthas diaktifkan. Jika Anda menentukan alamat IP, fitur ini hanya diaktifkan untuk alamat IP tersebut. Jika Anda tidak menentukan alamat IP apa pun, fitur ini diaktifkan untuk semua alamat IP.
Continuous profiling
Pada bagian Continuous Profiling, Anda dapat mengaktifkan atau menonaktifkan sakelar utama, serta sakelar untuk fitur hotspot CPU, hotspot memori, dan hotspot kode. Anda juga dapat menentukan alamat IP atau segmen jaringan tempat fitur-fitur ini berlaku. Untuk informasi selengkapnya, lihat Integrate the continuous profiling feature. Daftar izin IP mendukung beberapa alamat IP instans yang dipisahkan dengan koma (,). Daftar izin segmen jaringan mendukung format CIDR (misalnya, 10.0.0.0/8) tetapi tidak mendukung beberapa segmen.
Pengaturan protokol propagasi jejak
Pada bagian Trace Propagation Protocol Settings, Anda dapat memilih protokol propagasi jejak yang akan digunakan sesuai kebutuhan. Untuk informasi tentang protokol yang didukung ARMS, lihat Trace context propagation protocols supported by ARMS.
Secara default, tidak ada Propagation protocol yang diatur, dan Propagation mode-nya adalah Priority. Fitur ini memerlukan agent v4.1.x atau lebih baru.
Secara default, saat panggilan tiba, agent ARMS memeriksa header permintaan dalam urutan berikut: EagleEye, OpenTelemetry, SkyWalking, Jaeger, dan Zipkin. Jika agent mendeteksi header untuk protokol tertentu, agent memulihkan konteks jejak berdasarkan protokol tersebut dan menyuntikkan header yang sesuai untuk panggilan hilir berikutnya. Jika tidak ada header protokol yang terdeteksi, agent menggunakan protokol EagleEye secara default.
Anda dapat memilih protokol apa pun di halaman ini sebagai protokol prioritas. Setelah Anda memilih dan menyimpan pengaturan, ARMS akan memeriksa header permintaan protokol yang ditentukan terlebih dahulu. Misalnya, jika Anda mengatur Propagation protocol ke Jaeger dan Propagation mode ke Priority, agent ARMS akan mengubah urutan deteksi menjadi Jaeger, EagleEye, OpenTelemetry, SkyWalking, lalu Zipkin.
Anda juga dapat memaksa penggunaan protokol tertentu. Misalnya, jika Anda mengatur Propagation protocol ke Jaeger dan Propagation mode ke Force, agent ARMS hanya akan memeriksa header protokol Jaeger. Jika tidak ditemukan header protokol Jaeger, agent tidak akan memeriksa protokol lain dan akan menghasilkan konteks jejak baru.
Pengaburan data
Pada bagian Data Redaction, Anda dapat menentukan aturan pengaburan. Agent kemudian mengaburkan konten dari parameter sistem JVM, YAML Kubernetes, parameter input metode, serta variabel lingkungan dan sistem Arthas selama pengumpulan. Dalam aturan pengaburan, elemen dipisahkan oleh koma (,). Setiap elemen merepresentasikan regex yang tidak peka huruf besar/kecil. Misalnya, aturan password setara dengan regex .*password.*. Aturan pengaburan default mencakup password, secret, key, token, dan credentials.
Saat agent mengumpulkan data, agent menyaring kunci data berdasarkan ekspresi yang sesuai. Jika kunci memenuhi kondisi, kunci tersebut dianggap berisi data sensitif dan didesensitisasi. Misalnya, jika aturan desensitisasi berisi licenseKey, informasi dengan kunci -Darms.licenseKey didesensitisasi. Saat aturan desensitisasi adalah licenseKey, informasi dengan kunci -Darms.licenseKey didesensitisasi.
Menyalin konfigurasi
Jika Anda perlu menerapkan konfigurasi yang sama ke aplikasi lain, Anda dapat menyalinnya.
Menyalin satu konfigurasi ke aplikasi lain
-
Di bagian konfigurasi yang sesuai, klik Batch copy to other applications.
-
Di kotak dialog yang muncul, pilih aplikasi yang ingin Anda terapkan konfigurasinya, lalu klik OK.
Kotak dialog menyediakan dua mode: Copy to all other applications dan Select monitored applications. Perubahan berlaku dalam 1 hingga 2 menit setelah penyalinan berhasil.
Menyalin semua konfigurasi ke aplikasi lain
-
Di bagian bawah halaman, klik Batch copy to other applications.
-
Di kotak dialog yang muncul, pilih aplikasi yang ingin Anda terapkan konfigurasinya, lalu klik OK.
Kotak dialog menyediakan dua mode: Copy to all other applications dan Select monitored applications. Perubahan berlaku dalam 1 hingga 2 menit setelah penyalinan berhasil.
Konfigurasi default global
Anda dapat menyimpan konfigurasi saat ini sebagai default global. Aplikasi baru yang Anda buat akan menggunakan konfigurasi ini secara default.
-
Di bagian bawah halaman, klik Save Current Application Settings as Global Default Configurations.
-
Di kotak dialog yang muncul, klik Confirm.