Mengonfigurasi metrik JMX

Application Insights Java 3.x mengumpulkan beberapa metrik Java Management Extensions (JMX) secara default, tetapi dalam banyak kasus tidak cukup. Dokumen ini menjelaskan opsi konfigurasi JMX secara rinci.

Bagaimana cara mengumpulkan metrik JMX tambahan?

Kumpulan metrik JMX dapat dikonfigurasi dengan menambahkan bagian "jmxMetrics" ke file applicationinsights.json. Masukkan nama untuk metrik seperti yang Anda inginkan muncul di portal Azure di sumber daya application insights. Nama objek dan atribut diperlukan untuk setiap metrik yang ingin Anda kumpulkan. Anda dapat menggunakan * dalam nama objek untuk kartubebas gaya glob (detail).

Bagaimana cara mengetahui metrik apa yang tersedia untuk dikonfigurasi?

Anda berhasil - Anda harus mengetahui nama objek dan atributnya, properti tersebut berbeda untuk berbagai pustaka, kerangka kerja, dan server aplikasi, dan sering kali tidak didokumentasikan dengan baik. Untungnya, mudah untuk menemukan dengan tepat metrik JMX apa yang didukung untuk lingkungan khusus Anda.

Untuk melihat metrik yang tersedia, atur tingkat diagnostik mandiri ke DEBUG dalam file konfigurasi applicationinsights.json Anda, misalnya:

{
  "selfDiagnostics": {
    "level": "DEBUG"
  }
}

Metrik JMX yang tersedia, dengan nama objek dan nama atribut, muncul di file log Application Insights Anda.

Output file log terlihat mirip dengan contoh ini. Dalam beberapa kasus, itu bisa ekstensif.

Cuplikan layar metrik JMX yang tersedia dalam file log.

Anda juga dapat menggunakan alat baris perintah untuk memeriksa metrik JMX yang tersedia.

Contoh konfigurasi

Mengetahui metrik apa yang tersedia, Anda dapat mengonfigurasi agen untuk mengumpulkannya. Yang pertama adalah contoh metrik bertumpuk - LastGcInfo yang memiliki beberapa properti, dan kita ingin mengambil GcThreadCount.

"jmxMetrics": [
      {
        "name": "Demo - GC Thread Count",
        "objectName": "java.lang:type=GarbageCollector,name=PS MarkSweep",
        "attribute": "LastGcInfo.GcThreadCount"
      },
      {
        "name": "Demo - GC Collection Count",
        "objectName": "java.lang:type=GarbageCollector,name=PS MarkSweep",
        "attribute": "CollectionCount"
      },
      {
        "name": "Demo - Thread Count",
        "objectName": "java.lang:type=Threading",
        "attribute": "ThreadCount"
      }
],

Di mana saya dapat menemukan Metrik JMX dalam wawasan aplikasi?

Anda dapat melihat metrik JMX yang dikumpulkan saat aplikasi Anda berjalan dengan menavigasi ke sumber daya wawasan aplikasi Anda di portal Azure. Di bawah tab Metrik, pilih menu dropdown seperti yang diperlihatkan untuk menampilkan metrik.

Cuplikan layar metrik di portal