Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara mulai menggunakan Agen Diagnostik Java. Ini juga menjelaskan Java Diagnostic Tool pada plugin AKS untuk IntelliJ IDEA.
Agen Diagnostik Java adalah agen Java untuk memecahkan masalah proses Java. Tidak perlu membangun kembali, menyebarkan ulang, atau memulai ulang aplikasi. Saat ini, ini mendukung penambahan log di sekitar fungsi di kelas Java. Ketika fungsi dipanggil, log dicetak bersama dengan perhitungan total waktu yang dikonsumsi oleh fungsi.
Prasyarat
diag4j telah diinstal di kluster Anda.
Java LTS versi 11, 17, atau 21.
Plugin IntelliJ IDEA , diinstal lokal melalui Pengaturan >Plugin>Instal Plugin dari Disk.
Aplikasi Java untuk memecahkan masalah. Untuk informasi selengkapnya, lihat Menyebarkan Aplikasi Spring Boot ke Azure Kubernetes Service.
Mengatur penerusan port
Gunakan perintah berikut untuk mengonfigurasi penerusan port ke layanan agen:
kubectl port-forward svc/diag4j-agent-service -n <namespace> <port>:8080
Gunakan Java Diagnostic Tool pada plugin AKS untuk IntelliJ IDEA
Gunakan Java Diagnostic Tool pada plugin AKS untuk melampirkan Java Diagnostic Agent ke aplikasi Java yang berjalan dalam kontainer pod pada kluster Azure Kubernetes Service (AKS).
Setelah melampirkan agen, Anda dapat memecahkan masalah dengan menambahkan log di sekitar fungsi kelas. Gunakan log ini untuk menguji apakah fungsi dijalankan dan untuk menghitung total waktu yang dihabiskan dalam fungsi. Analisis ini dapat membantu Anda menemukan hambatan performa di aplikasi Anda.
Tab Diagnostik menunjukkan konfigurasi plugin. Di sini, Anda dapat:
- Konfigurasikan port lokal yang diteruskan ke layanan agen.
- Lihat pod yang tercantum dengan
kubeconfigdi lingkungan lokal Anda. - Pilih Perbarui untuk memperbarui tabel Pod. Setelah Anda beralih kluster, refresh tabel untuk memuat pod di kluster baru.
Melampirkan agen
Kontainer pod harus memiliki folder /tmp , dan harus memiliki izin tulis ke folder /tmp .
Untuk mengaktifkan pemasangan agen pada JVM, jangan tambahkan -XX:+DisableAttachMechanism ke opsi JVM.
Server diagnostik backend ditutup setelah 6 jam.
Untuk melampirkan agen, pilih pod yang ingin Anda lampirkan agennya, lalu pilih kontainer. Anda hanya dapat menautkan agen ke satu kontainer di pod. Kemudian, tunggu hingga proses lampiran selesai.
Mengatur kontainer pod aktif
Setelah Anda berhasil menghubungkan agen, gunakan agen tersebut untuk pemecahan masalah.
Beberapa pod mungkin telah menyuntikkan agen, jadi Anda harus mengatur pod aktif. Di IntelliJ IDEA, pada tab Diagnostik, klik kanan pod dan pilih Pilih sebagai yang aktif.
Menambahkan pengelogan di sekitar fungsi kelas
Log yang dikonfigurasi secara otomatis dihapus setelah 30 menit.
Anda dapat menggunakan alat ini untuk menambahkan pengelogan di sekitar fungsi kelas, tetapi tidak antarmuka, konstruktor, dan sebagainya.
Untuk menambahkan pengelogan ke fungsi, klik kanan di editor, lalu pilih Java Diagnostic>Tambahkan AroundLog, seperti yang ditunjukkan pada cuplikan layar berikut.
Dalam contoh ini, setelah menambahkan pengelogan, Anda dapat memanggil <host>/infor untuk melihat output yang mirip dengan contoh berikut sebelum dan sesudah fungsi dipanggil:
===== START ===== Method: updateInformation Start Time: 2024-12-12T07:37:55.404107848Z
Done with the validation
Done with the DB access
Done with the data filtering
===== END ===== Method: updateInformation End Time: 2024-12-12T07:37:55.404316940Z Total Time: 0 milliseconds
Menghapus semua log yang dikonfigurasi
Untuk menghapus semua log yang ditambahkan oleh agen, pilih Hapus Semua AroundLogs.
Nota
Kontainer sementara dalam pod menggunakan agen Java backend. Setelah pod dimulai ulang, agen dihapus.
Pemecahan masalah
Timeout dapat terjadi saat Anda mencoba menghubungkan agen ke pod yang berjalan pada node yang belum diaktifkan untuk fitur tersebut. Timeout terjadi karena node perlu mengambil image agen terlebih dahulu, yang menyebabkan penundaan. Ketika penundaan ini terjadi, pilih Refresh untuk memeriksa apakah agen terpasang, atau coba lampirkan agen lagi.
Jika lampiran gagal, periksa log bernama diagnostic-container-<hashcode> dalam kontainer ephemeral.
Anda dapat menemukan informasi tentang operasi plugin di log di bawah kontainer pod bernama diag4j-agent-service-<hashcode>.
Langkah berikutnya
Mulai menggunakan komponen Admin Spring Boot dari Java Diagnostic Tool (diag4j) di AKS