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
Anda dapat menggunakan 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 Anda melampirkan agen, agen memungkinkan Anda melakukan tugas pemecahan masalah seperti menambahkan log pada fungsi kelas. Anda dapat menggunakan 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.
Konfigurasi plugin ditampilkan pada tab Diagnostik. Di sini, Anda bisa melakukan tugas-tugas berikut:
- 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, Anda harus me-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 melampirkan agen di JVM, pastikan untuk tidak menambahkan -XX:+DisableAttachMechanism ke opsi JVM.
Server diagnostik backend ditutup setelah 6 jam.
Untuk melampirkan agen, klik pod yang ingin Anda lampirkan agen, lalu pilih kontainer. Anda hanya dapat menautkan agen ke satu kontainer di pod. Kemudian, tunggu hingga proses lampiran selesai.
Mengatur kontainer pod aktif
Setelah berhasil melampirkan agen, Anda dapat menggunakannya 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 pencatatan pada fungsi, klik kanan pada fungsi di dalam editor, lalu pilih Diagnostik Java>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 All AroundLogs.
Nota
Agen Java backend digunakan oleh kontainer ephemeral dalam pod. Setelah pod dimulai ulang, agen dihapus.
Pemecahan masalah
Batas waktu dapat terjadi ketika Anda mencoba melampirkan agen ke pod yang berjalan pada node yang belum mengaktifkan fitur. Batas waktu dapat terjadi karena simpul harus terlebih dahulu mengambil gambar agen, yang menyebabkan penundaan. Ketika ini terjadi, Anda dapat memilih Refresh untuk memeriksa apakah agen sudah terpasang, atau Anda dapat mencoba menghubungkan agen lagi.
Jika lampiran gagal, Anda dapat memeriksa log bernama diagnostic-container-<hashcode> di wadah sementara.
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