Di tab Custom Configurations, Anda dapat menyesuaikan pengaturan umum seperti sakelar agen dan kebijakan pengambilan sampel.
Untuk menyesuaikan pengaturan ini melalui API, lihat SaveTraceAppConfig.
Prasyarat
ARMS Application Monitoring menyediakan halaman detail pemantauan baru bagi pengguna yang telah mengaktifkan model penagihan baru. Untuk informasi selengkapnya tentang model penagihan baru, lihat Product Billing (New).
Jika Anda belum mengaktifkan model penagihan baru tetapi ingin mengakses halaman detail pemantauan baru, klik Switch to New Version pada halaman Application List.
Anda telah menginstal probe untuk aplikasi Anda. Untuk petunjuknya, lihat Overview of Application Monitoring Integration.
Prosedur
-
Masuk ke Konsol ARMS. Di panel navigasi sebelah kiri, pilih .
-
Di bilah navigasi atas, pilih .
-
Atur parameter konfigurasi kustom dan klik Save.
Pengaturan pengambilan sampel
Di bagian Sampling Settings, Anda dapat mengonfigurasi kebijakan pengambilan sampel, laju pengambilan sampel, serta karakteristik antarmuka yang selalu diambil sampelnya untuk jejak. Anda juga dapat mengaktifkan atau menonaktifkan pengambilan sampel lalu lintas rendah. Untuk informasi selengkapnya, lihat Select a trace sampling mode (agent V3.2.8 or later).
Pengaturan sakelar agen
Di bagian Agent Switch Settings, Anda dapat mengaktifkan atau menonaktifkan pemantauan aplikasi dan mengalihkan sakelar agen individual.
Perubahan untuk mengaktifkan atau menonaktifkan pemantauan aplikasi berlaku langsung tanpa perlu me-restart aplikasi. Jika Anda menjeda pemantauan aplikasi, sistem tidak akan lagi memantau aplikasi Anda. Lakukan dengan hati-hati. Perubahan pada sakelar agen memerlukan restart aplikasi.
Bagian ini mencantumkan semua sakelar agen yang tersedia dalam bentuk grid. Anda dapat mengaktifkan atau menonaktifkan pemantauan untuk framework dan fitur tertentu sesuai kebutuhan.
Pengaturan profil thread
Di bagian Thread profiling settings, Anda dapat mengaktifkan atau menonaktifkan sakelar utama untuk profil thread.
Konfigurasi asosiasi log aplikasi
Di bagian Application log association configuration, Anda dapat mengonfigurasi informasi sumber log untuk secara otomatis menyisipkan TraceId dan SpanId. Untuk informasi selengkapnya, lihat Log analysis.
-
Automatic TraceId and SpanId injection: Saat diaktifkan, agen secara otomatis menyisipkan TraceId dan SpanId ke dalam log Anda tanpa mengubah konfigurasi log Anda.
Efek:
# log4j 2024.04.12 17:14:18 WARN log4j-11 c.e.d2.TraceIdLogWorker {traceId=8b51c17d03cfd6db4a68d8e8da04fc85, spanId=ea4bfd29b6d36039} [TraceId] Ini adalah log jejak sederhana 17:14:18 WARN [log4j-ThreadPool-11] c.e.d2.TraceIdLogWorker {traceId=8b51c17d03cfd6db4a68d8e8da04fc85, spanId=ea4bfd29b6d36039} [TraceId] Ini adalah log dengan exception java.lang.RuntimeException: null at com.example.demo2.TraceIdLogWorker.doWork(TraceIdLogWorker.java:49) at org.apache.arms.java.util.concurrent.ExecutorServiceInterceptor.call(ExecutorServiceInterceptor.java:71) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) # log4j2 17:14 [Thread.ResolverScan-1] c.e.d2.TraceIdLogWorker {traceId=8b51c17d03cfd6db4a68d8e8da04fc85, spanId=ea4bfd29b6d36039} Ini adalah log dengan exception java.lang.RuntimeException: null at com.example.demo2.TraceIdLogWorker.doWork(TraceIdLogWorker.java:49) at org.apache.arms.arthas.resolver.DefaultArtifactResolverChain$DefaultTask.execute(DefaultArtifactResolverChain.java:115) # logback 17:14:18 WARN [logback-ThreadPool-1] c.e.d2.TraceIdLogWorker {traceId=8b51c17d03cfd6db4a68d8e8da04fc85, spanId=ea4bfd29b6d36039} [TraceId] Ini adalah log jejak sederhana 17:14:18 WARN [logback-ThreadPool-1] c.e.d2.TraceIdLogWorker {traceId=8b51c17d03cfd6db4a68d8e8da04fc85, spanId=ea4bfd29b6d36039} [TraceId] Ini adalah log dengan exception java.lang.RuntimeException: null at com.example.demo2.TraceIdLogWorker.doWork(TraceIdLogWorker.java:49) -
Add TraceId to log MDC: Secara default, agen V4.x dan versi lebih baru tidak mendukung pengambilan TraceId menggunakan
org.slf4j.MDC.get("EagleEye-TraceID"). Untuk menggunakan metode ini, aktifkan sakelar ini.
Pengaturan konvergensi URL
Di bagian URL Convergence Settings, Anda dapat mengaktifkan atau menonaktifkan konvergensi URL serta mengonfigurasi ambang batas dan aturan konvergensi. Konvergensi URL mengelompokkan serangkaian URL serupa dan menampilkannya sebagai satu entri. Misalnya, URL yang dimulai dengan /service/demo/ dikelompokkan bersama. Ambang batas konvergensi adalah jumlah minimum URL yang diperlukan untuk memicu konvergensi. Misalnya, jika ambang batasnya 100, sekelompok URL yang cocok dengan ekspresi reguler aturan hanya akan dikonvergensikan setelah jumlahnya mencapai 100. Untuk informasi selengkapnya, lihat How ARMS convergence works.
Pemantauan Arthas
Di bagian Arthas Monitoring, Anda dapat mengaktifkan atau menonaktifkan fitur diagnostik Arthas dan menentukan alamat IP tempat fitur tersebut aktif. Untuk informasi selengkapnya, lihat Arthas diagnostics.
Pengaturan profil berkelanjutan
Di bagian Continuous profiling settings, Anda dapat mengaktifkan atau menonaktifkan fitur sakelar utama, hotspot CPU, hotspot memori, dan hotspot kode. Anda juga dapat menentukan alamat IP atau Blok CIDR tempat profil berlangsung. Untuk informasi selengkapnya, lihat Continuous profiling for Java applications.
Pengaturan desensitisasi data
Di bagian Data Masking Settings, Anda dapat mengonfigurasi aturan desensitisasi. Agen kemudian mendesensitisasi data seperti parameter sistem JVM, file YAML Kubernetes, parameter input metode, serta variabel lingkungan dan sistem Arthas selama pengumpulan. Dalam aturan desensitisasi, elemen-elemen dipisahkan dengan koma. Setiap elemen merepresentasikan ekspresi reguler yang tidak peka huruf besar/kecil. Misalnya, password setara dengan ekspresi reguler .*password.*.
Saat agen mengumpulkan data, agen memfilter kunci data terhadap ekspresi-ekspresi ini. Jika suatu kunci cocok dengan aturan, agen menganggapnya sensitif dan menyamarkan nilainya. Misalnya, jika Anda menetapkan aturan menjadi licenseKey, informasi dengan kunci -Darms.licenseKey akan didesensitisasi.
Setelah Anda mengaktifkan desensitisasi IP, agen secara otomatis mendesensitisasi informasi yang melibatkan alamat IP, seperti alamat titik akhir pada berbagai halaman di konsol pemantauan aplikasi. Proses ini tidak memengaruhi cara data pemantauan ditampilkan.
Konfigurasi panggilan API
Di bagian Interface call configuration, Anda dapat mengonfigurasi kebijakan seperti ambang batas panggilan lambat, daftar putih exception, daftar putih kode status HTTP, dan penyaringan panggilan antarmuka yang tidak valid.
-
Slow call threshold: Nilai default adalah 500 ms. Panggilan antarmuka ditandai sebagai lambat jika waktu responsnya melebihi ambang batas ini.
-
HTTP status code whitelist:
Secara default, kode status HTTP 400 atau lebih tinggi diklasifikasikan sebagai panggilan error. Jika Anda tidak ingin mengklasifikasikan kode status tertentu sebagai error, Anda dapat menambahkannya ke daftar putih.
Pengaturan ini hanya berlaku untuk framework HTTP yang saat ini didukung oleh pemantauan aplikasi.
Data yang terpengaruh: Metrik jumlah error untuk server dan klien HTTP (arms_http_requests_error_count, arms_http_client_requests_error_count, dan arms_app_requests_error_count) serta status rentang.
Fitur yang terpengaruh: Jumlah error pada tab Overview, Provided Services, dan Dependencies, serta status rentang dan peringatan jumlah error pada halaman Trace Explorer.
Format: Masukkan satu kode status. Untuk memasukkan beberapa kode, pisahkan dengan koma (,). Pencocokan fuzzy tidak didukung.
Contoh:
403,502Default: Kosong
-
Invalid interface call filtering:
Jika Anda ingin menyembunyikan panggilan tertentu dari tab Provided Services, Anda dapat memasukkan nama antarmuka yang ingin diabaikan. Agen tidak akan melaporkan data observabilitas untuk antarmuka tersebut, dan antarmuka tersebut tidak akan muncul di halaman panggilan antarmuka.
Catatan-
Untuk agen Java sebelum V4.2.0, fitur ini hanya berlaku untuk antarmuka yang muncul di tab Provided Services.
-
Untuk agen Java V4.2.0 dan versi lebih baru, fitur ini berlaku untuk semua LocalRootSpan.
Data yang terpengaruh: Semua metrik dan rentang untuk antarmuka yang cocok diabaikan.
Fitur yang terpengaruh: Semua metrik untuk antarmuka yang cocok pada tab Overview, Provided Services, dan Dependencies. Jumlah rentang, volume panggilan, jumlah error, dan peringatan panggilan lambat untuk antarmuka yang cocok pada halaman Trace Explorer juga terpengaruh.
Format: Gunakan string atau ekspresi AntPath untuk mencocokkan nama lengkap antarmuka yang tidak valid. Untuk memasukkan beberapa aturan, pisahkan dengan koma (,). Nilai default ditulis sebagai ekspresi AntPath untuk memastikan kompatibilitas dengan data yang ada. Kami menyarankan agar Anda tidak menghapusnya. Tambahkan konfigurasi baru ke aturan yang sudah ada.
Contoh:
/api/test/*,/api/playground/createDefault:
/**/*.jpg,/**/*.png,/**/*.js,/**/*.jpeg,/**/*.pdf,/**/*.xlsx,/**/*.txt,/**/*.docs,/**/*.gif,/**/*.csv -
-
Record upstream interface name in interface call metrics dan Record upstream application name in interface call metrics:
Tujuan: Mengontrol apakah metrik antarmuka mencatat aplikasi dan antarmuka hulu yang melakukan panggilan. Hal ini terutama memengaruhi ketersediaan data untuk layanan hulu dan hilir. Jika suatu aplikasi memiliki banyak aplikasi hulu, pencatatan informasi ini dapat meningkatkan volume metrik yang dilaporkan secara signifikan dan menyebabkan biaya lebih tinggi.
Efek: Setelah Anda menonaktifkan pencatatan aplikasi dan antarmuka hulu untuk metrik antarmuka, jumlah data yang sesuai turun menjadi nol.
-
Record original status code in interface call metrics:
Tujuan: Mencatat kode respons asli dalam metrik terkait antarmuka HTTP.
Efek:
Setelah diaktifkan, Anda dapat melihat kode respons asli antarmuka HTTP di detail panggilan antarmuka. Hal ini memungkinkan statistik dan analisis kode status yang lebih rinci.
-
Record HTTP method name for interface: Setelah Anda mengaktifkan sakelar ini, nama antarmuka yang diperluas pada halaman interface call mencakup metode permintaan HTTP. Misalnya, nama berubah dari
/api/v1/use/{userId}menjadiGET /api/v1/use/{userId}.
Konfigurasi panggilan database
Di bagian Database call configuration, Anda dapat mengonfigurasi ambang batas SQL lambat, panjang maksimum pernyataan SQL yang dikumpulkan, serta menentukan apakah akan menampilkan nilai variabel terikat dan nilai konstan dalam pernyataan SQL, dan apakah akan mencatat ukuran nilai kembali kueri MySQL.
-
Display bound variable values in SQL: Menangkap nilai variabel yang terikat pada parameter PreparedStatement. Perubahan ini berlaku tanpa perlu me-restart aplikasi.
Agen mencatat nilai parameter PreparedStatement dalam atribut rentang panggilan database yang sesuai. Kuncinya adalah db.bindvalue, dan nilainya adalah daftar nilai variabel yang dipisahkan koma. Perubahan ini berlaku tanpa perlu me-restart aplikasi.
-
Pengaturan ini didukung oleh semua framework berbasis JDBC yang saat ini didukung oleh ARMS.
-
Jenis variabel database yang didukung: Boolean, Byte, Short, Int, Long, Float, Double, BigDecimal, dan Date.
-
Mengaktifkan sakelar ini menimbulkan overhead tambahan yang sebanding dengan jumlah variabel dalam pernyataan SQL. Dalam skenario uji stres resmi dengan satu variabel, mengaktifkan sakelar ini menambahkan overhead CPU kurang dari 0,5% dan overhead memori yang dapat diabaikan.
Gambar berikut menunjukkan efek setelah sakelar ini diaktifkan:
Setelah diaktifkan, Anda dapat melihat atribut db.bindvalue dan nilai variabel yang sesuai di panel Span Details dari rentang panggilan database.
-
-
Display constant values in SQL: Agen hanya memotong pernyataan SQL dan tidak menerapkan pemrosesan tambahan. Perubahan ini berlaku tanpa perlu me-restart aplikasi. Jika pernyataan SQL hanya berbeda dalam nilai konstan, pernyataan tersebut mungkin menjadi terlalu terfragmentasi dan akhirnya dikonvergensikan menjadi
{ARMS_OTHERS}. Kami menyarankan agar Anda tidak mengaktifkan opsi ini. -
Record original JDBC connection string: Secara default, agen hanya dapat mengurai sejumlah format string koneksi JDBC tertentu. Untuk string koneksi yang tidak dapat diurai dengan benar oleh agen, agen mencatat titik akhir sebagai UnknownEndpoint. Jika Anda mengaktifkan sakelar ini, agen mencatat string koneksi JDBC asli. Misalnya, string koneksi jdbc:h2:file yang sebelumnya tidak dikenali dan dicatat sebagai UnknownEndpoint akan dicatat dengan benar setelah sakelar ini diaktifkan.
Pengaturan propagasi konteks jejak
Di bagian Trace Context Propagation Protocol Settings, Anda dapat memilih protokol propagasi konteks jejak yang sesuai dengan kebutuhan Anda.
Secara default, agen ARMS memilih protokol propagasi konteks jejak berdasarkan apakah header permintaan berisi header protokol tertentu. Untuk informasi selengkapnya, lihat ARMS trace context propagation protocol selection policy.
Di halaman ini, Anda dapat memilih protokol apa pun sebagai protokol prioritas. Setelah Anda memilih dan menyimpan konfigurasi, ARMS memprioritaskan pendeteksian header permintaan yang ditentukan oleh protokol tersebut. Misalnya, dengan konfigurasi berikut, agen mendeteksi konteks protokol dalam urutan Jaeger, EagleEye, W3C, SkyWalking, dan Zipkin untuk panggilan masuk.
Anda juga dapat memilih untuk memberlakukan protokol tertentu. Misalnya, dengan konfigurasi berikut, agen hanya mendeteksi header permintaan yang ditentukan oleh protokol Jaeger untuk panggilan masuk. Jika header tidak ditemukan, agen tidak memeriksa protokol lain tetapi menghasilkan konteks jejak baru.
Strategi ekstraksi dan injeksi konteks jejak: Perilaku default adalah mengekstraksi konteks jejak dari layanan hulu dan menginjeksikannya ke permintaan hilir. Anda dapat mengonfigurasi perilaku ekstraksi dan injeksi dengan pengaturan ini.
Tujuan:
Anda dapat memilih protokol propagasi konteks jejak prioritas atau yang diberlakukan. Kasus penggunaan umum meliputi:
-
Permintaan membawa konteks jejak dalam beberapa format, dan urutan penguraian default tidak memenuhi kebutuhan Anda. Anda ingin memprioritaskan protokol tertentu. Misalnya, jika permintaan membawa konteks jejak W3C dan Zipkin, agen secara default mengurai konteks jejak W3C terlebih dahulu. Anda dapat mengatur protokol propagasi menjadi Zipkin untuk mengurai protokol Zipkin dengan prioritas.
-
Permintaan membawa header protokol jejak, tetapi Anda tidak ingin menggunakannya kembali dan ingin menghasilkan konteks jejak baru berdasarkan protokol lain. Misalnya, jika permintaan membawa konteks jejak Zipkin, konteks jejak Zipkin diurai secara default. Anda dapat mengatur protokol propagasi menjadi W3C dan mode propagasi menjadi Enforced. Dengan cara ini, konteks jejak Zipkin diabaikan, dan konteks baru dihasilkan berdasarkan spesifikasi protokol W3C. Perhatikan bahwa jika mode propagasi tidak diatur ke Enforced, agen masih mencoba mengurai konteks Zipkin setelah penguraian konteks W3C yang diprioritaskan gagal.
Efek:
Setelah dikonfigurasi, setiap LocalRootSpan memiliki atribut trace.protocol.type yang menunjukkan protokol jejak yang digunakan.
Konfigurasi antrian pesan
Di bagian Message queue configuration, Anda dapat menyesuaikan informasi konsumen.
-
Custom RabbitMQ consumer: Tentukan nama kelas konsumen kustom atau kelas yang berisi konsumen inner anonim untuk melihat jejak konsumen tersebut. Pisahkan beberapa nama kelas konsumen dengan koma (,).
-
Custom Kafka consumption method: Definisikan metode konsumsi kustom untuk melihat jejak dan metrik saat mengonsumsi pesan dengan SDK Kafka native.
-
Automatically propagate context for Kafka messages: Saat mengirim pesan, secara otomatis tambahkan header ke pesan Kafka untuk menghubungkan jejak produsen dan konsumen.
Konfigurasi pengumpulan agen
Di bagian Agent collection configuration, Anda dapat mengatur jumlah maksimum rentang yang dikumpulkan per detik, ambang batas QPS maksimum yang dapat ditangani agen, dan tingkat log agen.
-
Collect traces: Mengontrol apakah data jejak dilaporkan. Fitur ini diaktifkan secara default. Jika Anda menonaktifkannya, agen berhenti melaporkan data jejak.
-
Maximum spans collected per second: Jumlah rentang yang dapat dilaporkan agen per detik. Untuk alasan kinerja, ambang batas efektif aktual dapat menyimpang hingga 5% dari ambang batas yang dikonfigurasi. Rentang yang melebihi batas tidak dilaporkan.
-
Maximum QPS threshold for the agent: Jumlah permintaan yang dapat ditangani agen per detik. Untuk alasan kinerja, ambang batas efektif aktual dapat menyimpang hingga 5% dari ambang batas yang dikonfigurasi. Agen tidak memantau permintaan yang melebihi ambang batas ini. Akibatnya, tidak ada rentang yang dihasilkan dan tidak ada metrik yang dicatat untuk permintaan tersebut, serta fitur asosiasi log-TraceId tidak berlaku.
-
Collect internal call data without an entry point: Di ARMS, titik masuk dapat berupa layanan HTTP, layanan RPC, tugas terjadwal, atau konsumsi pesan. Panggilan seperti panggilan database dan permintaan HTTP arah keluar yang terjadi dalam logika bisnis titik masuk ini dianggap sebagai panggilan internal dengan titik masuk. Sebaliknya, panggilan HTTP periodik, panggilan database, panggilan NoSQL, pengiriman pesan, dan panggilan RPC yang diprakarsai oleh kolam thread JDK dianggap sebagai panggilan internal tanpa titik masuk. Di agen V4.2.2 dan versi lebih baru, Anda dapat menyaring jenis data ini dengan satu klik. Misalnya, framework Lettuce menjalankan perintah secara periodik untuk menjaga koneksi ke Redis tetap sehat. Ini adalah panggilan internal tanpa titik masuk. Setelah Anda menonaktifkan pengumpulan, agen tidak lagi mengumpulkan data terkait.
Misalnya, di halaman NoSQL Analysis, data panggilan yang dihasilkan oleh perintah Redis seperti PING, QUIT, dan AUTH yang dieksekusi secara otomatis oleh framework Lettuce tidak akan ditampilkan lagi.
-
Agent log level: Menyesuaikan tingkat logging agen untuk troubleshooting.
-
Report agent logs: Memungkinkan agen melaporkan log operasionalnya ke server ARMS untuk troubleshooting cepat. Dalam kondisi normal, agen hanya melaporkan sedikit log per menit.
-
Enable HTTPS reporting: Saat diaktifkan, agen menggunakan HTTPS untuk melaporkan data.
-
Default metric collection filter: Menyaring pelaporan jenis metrik tertentu. Jenis berikut saat ini didukung, dan Anda dapat memilih beberapa opsi:
-
custom_entry: Metrik kustom untuk pemantauan metode.
-
http: Metrik server HTTP.
-
http_client: Metrik klien HTTP.
-
rpc: Metrik server RPC.
-
rpc_client: Metrik klien RPC.
-
sql: Metrik terkait akses database.
-
nosql: Metrik terkait akses layanan NoSQL.
-
cache: Metrik terkait akses layanan cache.
-
producer: Metrik terkait pengiriman pesan.
-
consumer: Metrik terkait konsumsi pesan.
-
schedule: Metrik terkait layanan penjadwalan.
-
-
Custom Metric Collection Configuration: Mengonfigurasi pengumpulan metrik yang ditentukan oleh SDK OpenTelemetry. Untuk informasi selengkapnya, lihat Customize metrics by using the OpenTelemetry Java SDK.
-
Baggage to collect: Jika aplikasi Anda menggunakan baggage, pengaturan ini menulis item baggage tertentu ke dalam atribut rentang, sehingga memudahkan pengambilan jejak tertentu.
Konfigurasi penyaringan exception lanjutan
Di bagian Advanced exception filtering configuration, Anda dapat mengonfigurasi aturan pengumpulan exception.
-
Collect plugin exceptions: Menentukan apakah akan mengumpulkan exception plugin.
-
Stack depth for differentiating similar exceptions: Nilai default adalah 2. Kedalaman stack ini digunakan untuk mengidentifikasi jenis exception yang serupa. Mengubah pengaturan ini dapat menyebabkan perilaku statistik yang tidak terduga. Lakukan dengan hati-hati.
-
Exception filtering whitelist:
Jika Anda tidak ingin melihat exception tertentu di tab Exception Analysis, Anda dapat memasukkan nama kelas lengkap exception yang ingin disembunyikan. Exception tersebut tidak dihitung dan tidak muncul di halaman Exception Analysis.
Data yang terpengaruh: Metrik jumlah exception (arms_exception_requests_count_raw dan arms_exception_requests_seconds_raw) dan informasi exception dalam rentang.
Fitur yang terpengaruh: Metrik untuk exception yang sesuai di tab Exception Analysis.
Format: Gunakan nama kelas lengkap untuk mengidentifikasi exception yang akan disaring. Untuk menyaring beberapa exception, pisahkan nama kelasnya dengan koma (,).
Contoh:
java.lang.InterruptedException,java.lang.IndexOutOfBoundsExceptionDefault: Tidak ada
-
Inherit from parent class for exception filtering: Saat diaktifkan, jika exception yang dikumpulkan merupakan subclass dari kelas exception dalam Exception filtering whitelist, agen juga menyaringnya.
Efek: Exception yang memenuhi kriteria filter tidak ditampilkan di konsol ARMS.
-
Exception message filtering: Setelah dikonfigurasi, exception dari jenis tertentu juga disaring jika bidang pesannya memenuhi kondisi yang dikonfigurasi.
-
Exception name: Jenis exception yang diterapkan filter.
-
Message condition: Kondisi untuk pesan exception, yang dapat berupa startsWith, endsWith, atau contains.
-
Message keyword: String kata kunci.
Efek: Exception yang memenuhi kriteria filter tidak ditampilkan di konsol ARMS.
-
Konfigurasi pemantauan kolam
Di bagian Pool monitoring configuration, Anda dapat mengonfigurasi aturan pengumpulan untuk kolam thread dan kolam koneksi.
-
Thread pool and connection pool monitoring: Mengaktifkan pemantauan metrik kolam thread untuk framework seperti Tomcat, Dubbo, dan HSF. Anda harus meningkatkan agen ke versi terbaru.
-
Thread pool thread name pattern extraction policy: Secara default, opsi ini mengganti semua karakter numerik dalam nama thread yang sedang berjalan di kolam thread dengan tanda bintang (
*). Anda juga dapat mengonfigurasinya untuk hanya mengganti karakter numerik di akhir dengan tanda bintang (*). Jika aplikasi Anda menjalankan beberapa penyedia Dubbo pada port berbeda, kebijakan default mungkin menggabungkan kolam thread berbeda mereka menjadi satu karena pola nama thread yang diekstraksi identik. Sesuaikan kebijakan ini untuk membedakannya.Efek: Untuk kolam thread Tomcat tipikal, pola nama thread yang ditampilkan adalah
http-nio-*-exec-*secara default. Setelah disesuaikan, menjadihttp-nio-9099-exec-*. -
Thread pool usage scenario filtering dan Thread pool thread name pattern filtering: Menyaring metrik pemantauan kolam thread tertentu berdasarkan skenario penggunaan dan pola nama thread mereka.
CatatanKonfigurasi ini hanya berlaku untuk agen Java V4.2.0 dan versi lebih baru.
-
Thread pool usage scenario: Konteks penggunaan kolam thread. Skenario yang didukung meliputi Tomcat, Vert.x, Undertow, Dubbo, Jetty, AliyunJavaAgent, dan default. AliyunJavaAgent merepresentasikan kolam thread yang digunakan oleh agen itu sendiri, dan default merepresentasikan kolam thread lain yang tidak terklasifikasi.
-
Thread pool thread name pattern: Pola yang diturunkan dari nama thread di kolam. Misalnya, http-nio--exec- adalah pola yang biasanya diperoleh dengan mengganti bagian numerik nama thread aktual dengan tanda bintang (*).
Data yang terpengaruh: Metrik kolam thread
Fitur yang terpengaruh: Tab Thread Pool Monitoring dan peringatan yang dikonfigurasi berdasarkan metrik kolam thread.
Format:
-
Thread pool usage scenario filtering: Masukkan skenario penggunaan yang ditampilkan di tab pemantauan kolam thread. Untuk memasukkan beberapa skenario, pisahkan dengan koma (,).
-
Thread pool thread name pattern filtering: Masukkan pola nama thread yang ditampilkan di tab pemantauan kolam thread. Untuk memasukkan beberapa pola, pisahkan dengan koma (,). Ini menggunakan pencocokan eksak dan tidak mendukung pencocokan berbasis aturan.
Contoh:
-
Thread pool usage scenario filtering:
AliyunJavaAgent,Jetty -
Thread pool thread name pattern filtering:
Catalina-utility-*,DubboServerHandler-*-thread-*
Artinya agen tidak akan melaporkan data kolam thread apa pun untuk skenario AliyunJavaAgent. Untuk skenario lain, jika pola nama kolam thread adalah
Catalina-utility-*, agen juga tidak akan melaporkannya.Default: Tidak ada
-
Konfigurasi atribut rentang
-
Record OTel Specification attributes: Spesifikasi OpenTelemetry mendefinisikan atribut yang harus dimiliki rentang untuk setiap jenis plugin. Untuk mengurangi volume pelaporan data, agen ARMS secara default tidak mencatat semua atribut ini. Anda dapat mengaktifkan opsi ini sesuai kebutuhan. Untuk informasi selengkapnya tentang atribut yang ditambahkan untuk setiap framework setelah opsi ini diaktifkan, lihat Spesifikasi OpenTelemetry.
Untuk rentang server HTTP, mengaktifkan sakelar ini menambahkan atribut berikut.
Atribut yang ditambahkan mencakup informasi HTTP seperti http.path, http.scheme, dan http.target, serta informasi jaringan seperti net.host.name, net.host.port, net.protocol.name, net.protocol.version, net.sock.peer.addr, dan net.sock.peer.port.
-
Span association with application tags: Mengontrol rentang mana yang diberi tag aplikasi yang telah Anda ikat di halaman Applications. Secara default, semua rentang mencakup tag aplikasi. Untuk mengurangi volume penggunaan, Anda dapat memilih untuk melampirkan tag aplikasi hanya ke rentang entri. Rentang entri biasanya mencakup Server HTTP, Server RPC, konsumsi antrian pesan, dan tugas terjadwal.
Misalnya, jika aplikasi memiliki tag aplikasi
test1:value1dan Anda mengonfigurasinya untuk dilampirkan hanya ke rentang entri:Untuk rentang entri, Anda dapat melihat atribut untuk tag yang sesuai.
Untuk rentang non-entri, tidak mengandung atribut
test1:value1.
Pengaturan lanjutan
Di bagian Advanced settings, Anda dapat mengonfigurasi pengaturan seperti antarmuka yang akan disaring dan panjang maksimum stack metode.
-
Quantile statistics: Menentukan apakah akan mengaktifkan statistik kuantil.
-
Maximum method stack length: Nilai default adalah 128 frame, dan nilai maksimum adalah 400 frame.
-
Trace compression: Menentukan apakah akan menyederhanakan panggilan berulang, seperti yang ada dalam loop for.
-
Maximum display length of request input parameters: Panjang default adalah 512 karakter, dan panjang maksimum yang didukung adalah 2.048 karakter.
-
Asynchronous context propagation scan package: Tambahkan paket pemindaian untuk propagasi konteks asinkron guna memantau tugas asinkron. Saat objek baru dari antarmuka Runnable, Callable, atau Supplier di dalam paket dibuat, konteks jejak thread saat ini secara otomatis ditangkap. Konteks ini kemudian digunakan saat thread asinkron dieksekusi, sehingga melengkapi jejak.
-
Include TraceId in HTTP response: Hanya untuk permintaan HTTP, ini mengembalikan bidang eagleeye-traceid di header respons.
-
JVM GC trigger root cause: Saat diaktifkan, Anda dapat melihat akar penyebab pemicu garbage collection (GC) JVM. Anda dapat melihat detail pemantauan di halaman JVM Monitoring. Untuk informasi selengkapnya tentang penyebab pemicu GC, lihat GC-related metrics.
Salin konfigurasi ke aplikasi lain
Jika Anda perlu menerapkan konfigurasi yang sama ke aplikasi lain, Anda dapat menyalin pengaturannya.
Salin satu konfigurasi
-
Di bagian konfigurasi yang sesuai, klik Save and Copy to Other Applications.
-
Jika muncul kotak dialog Current settings not saved, klik OK untuk menyimpan konfigurasi untuk aplikasi saat ini, lalu klik Save and Copy to Other Applications lagi.
-
Di kotak dialog yang muncul, pilih aplikasi tempat Anda ingin menerapkan pengaturan, lalu klik OK.
Salin semua konfigurasi
-
Di bagian bawah halaman, klik Save and Copy to Other Applications.
-
Jika muncul kotak dialog Current settings not saved, klik OK untuk menyimpan konfigurasi untuk aplikasi saat ini, lalu klik Save and Copy to Other Applications lagi.
-
Di kotak dialog yang muncul, pilih aplikasi tempat Anda ingin menerapkan pengaturan, lalu klik OK.
Konfigurasi default global
Anda dapat menyimpan konfigurasi saat ini sebagai konfigurasi default global. Konfigurasi ini kemudian diterapkan secara default saat Anda membuat aplikasi baru.
-
Di bagian bawah halaman, klik Save Current App Settings as Global Default Configuration.
-
Jika muncul kotak dialog Current settings not saved, klik OK untuk menyimpan konfigurasi untuk aplikasi saat ini, lalu klik Save Current App Settings as Global Default Configuration lagi.
-
Di kotak dialog yang muncul, klik Confirm.
FAQ
Pengaturan sakelar tidak berlaku
Periksa apakah item konfigurasi memiliki persyaratan versi. Misalnya, sakelar mungkin diaktifkan atau dinonaktifkan secara default mulai dari versi agen tertentu.
-
Jika ada persyaratan versi, periksa apakah versi agen Anda saat ini memenuhinya. Jika tidak, Anda harus mengklik Save sekali untuk menerapkan perubahan. Jika ya, periksa log agen untuk entri terkait listener konfigurasi.
-
Jika tidak ada persyaratan versi, periksa log agen untuk mengonfirmasi apakah ada entri terkait listener konfigurasi.
-
Untuk agen V3.x, cari kata kunci
[Diamond] receive. Jika konten berikut muncul, konfigurasi telah berhasil didorong.2024-12-06 11:39:06.387|28|warn|||Receive xxx xxx_config xxx xxx xxx true 2024-12-06 11:39:06.387|28|warn|||Rec xxx 2024-12-06 11:39:06.387|28|warn|||Receive xxx xxx config xxx xxx xxx xxx 2024-12-06 11:39:06.387|28|warn|||[Diamond] receive config 2024-12-06 11:39:06.387|49|warn|||Fa xxx 2024-12-06 11:39:06.387|28|warn|||Di xxx 2024-12-06 11:39:06.404|28|warn|||PV xxx 2024-12-06 11:39:06.404|28|warn|||pa xxx xxx xxx 2024-12-06 11:39:06.404|28|warn|||pv xxx xxx xxx -
Untuk agen V4.x, cari kata kunci
config update. Jika entri log berikut muncul, konfigurasi telah berhasil didorong.xxx xxx xxx xxx xxx xxx xxx xxx 2024-11-27 11:48:35.161|16|warn|||[ConvergeState] config_update:{"profiler":"e xxx 2024-11-27 11:48:35.161|16|info|||[ArmsG xxx 2024-11-27 11:48:35.161|16|info|||[ArmsG xxx 2024-11-27 11:48:35.162|16|info|||[ArmsS xxx 2024-11-27 11:48:35.162|16|info|||[ArmsG xxx 2024-11-27 11:48:35.162|16|info|||[ArmsG xxx 2024-11-27 11:48:35.162|16|info|||[Arms0 xxx xxx xxx
-
Penyesuaian laju pengambilan sampel tidak berlaku
Laju pengambilan sampel aplikasi hanya memengaruhi apakah agen mengambil sampel jejak yang berasal darinya. Jika permintaan sudah berisi konteks jejak, aplikasi memulihkan konteks tersebut dan membuat keputusan pengambilan sampel berdasarkan keputusan pengambilan sampel yang dicatat dalam konteks tersebut.
Ekspresi Lambda tidak didukung dalam paket pemindaian asinkron
Kami menyarankan agar Anda meningkatkan ke agen V4.x, yang mendukung propagasi konteks asinkron otomatis tanpa memerlukan modifikasi kode atau perubahan konfigurasi tambahan.
Default global tidak diterapkan ke aplikasi baru
Saat Anda menyimpan konfigurasi saat ini dari suatu aplikasi sebagai konfigurasi default global, Anda hanya menyimpan snapshot. Perubahan selanjutnya pada konfigurasi aplikasi tersebut tidak secara otomatis disinkronkan ke konfigurasi default global. Anda harus menyimpan pengaturan sebagai konfigurasi default global lagi untuk memperbaruinya.
Konfigurasi API /error tidak berlaku
Pada versi agen sebelum 3.2.0, agen melakukan penyaringan antarmuka saat panggilan pertama kali memasuki aplikasi. Namun, aplikasi mengarahkan antarmuka jenis /error ke halaman /error hanya saat terjadi error, sehingga penyaringan tidak lagi berlaku. Masalah ini telah diperbaiki di agen V3.2.0 dan versi lebih baru.
URL tetap dikonvergensikan setelah menonaktifkan konvergensi
-
Bagian URL convergence settings di halaman Custom Configurations hanya berlaku untuk agen V3.x. Untuk agen V4.x, buka halaman untuk mengonfigurasi pengaturan.
-
Untuk versi agen sebelum V3.x, jika aplikasi Anda menggunakan Spring MVC, masalah ini mungkin terjadi. Harap tingkatkan agen ke V3.x atau versi lebih baru.