Condividi tramite


Configurazione delle metriche JMX

Application Insights Java 3.x raccoglie alcune delle metriche JMX (Java Management Extensions) per impostazione predefinita, ma in molti casi non è sufficiente. Questo documento descrive in dettaglio l'opzione di configurazione JMX.

Come si raccolgono metriche JMX aggiuntive?

La raccolta di metriche JMX può essere configurata aggiungendo una sezione "jmxMetrics" al file applicationinsights.json. Immettere un nome per la metrica così come lo si vuole visualizzare nel portale di Azure, nella risorsa di Application Insights. Il nome e l'attributo dell'oggetto sono necessari per ogni metrica che si vuole raccogliere. È possibile usare * nei nomi degli oggetti per i caratteri jolly in stile glob (dettagli).

Come è possibile sapere quali metriche sono disponibili per la configurazione?

Perfetto: è necessario conoscere i nomi degli oggetti e gli attributi. Queste proprietà sono diverse per varie librerie, framework e server applicazioni e spesso non sono ben documentate. Fortunatamente, è facile trovare in modo esatto le metriche JMX supportate per il proprio ambiente specifico.

Per visualizzare le metriche disponibili, impostare il livello di auto-diagnostica su DEBUG nel file di configurazione applicationinsights.json, ad esempio:

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

Le metriche JMX disponibili, con nomi di oggetti e di attributi, vengono visualizzate nel file di log di Application Insights.

L'output del file di log è simile a questi esempi. In alcuni casi, può essere esteso.

Screenshot delle metriche JMX disponibili nel file di log.

È anche possibile usare uno strumento da riga di comando per controllare le metriche JMX disponibili.

Esempio di configurazione

Conoscendo le metriche disponibili, è possibile configurare l'agente per raccoglierle. Il primo è un esempio di metrica annidata LastGcInfo che ha diverse proprietà, e si vuole acquisire 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"
      }
],

Dove si trovano le metriche JMX in Application Insights?

È possibile visualizzare le metriche JMX raccolte in corso di esecuzione dell'applicazione passando alla risorsa di Application Insights nel portale di Azure. Nella scheda Metriche selezionare l'elenco a discesa come illustrato, per visualizzarle.

Screenshot delle metriche nel portale