Compartir vía


Configuración de métricas de JMX

El agente de Java 3.x de Application Insights recopila algunas de las métricas de Java Management Extensions (JMX) de forma predeterminada, pero en muchos casos esto no es suficiente. En este documento se describe la opción de configuración de JMX en detalle.

¿Cómo se recopilan las métricas de JMX adicionales?

La recopilación de métricas de JMX se puede configurar agregando una sección "jmxMetrics" al archivo applicationinsights.json. Escriba un nombre para la métrica como desee que aparezca en Azure Portal en el recurso de Application Insights. El nombre de objeto y el atributo son necesarios para cada una de las métricas que desea recopilar. Puede usar * en nombres de objeto para caracteres comodín de estilo global (detalles).

¿Cómo puedo saber qué métricas están disponibles para configurar?

Ha dado en el clavo: debe conocer los nombres de los objetos y los atributos, esas propiedades son diferentes para varias bibliotecas, marcos y servidores de aplicaciones, y a menudo no están bien documentadas. Afortunadamente, es fácil encontrar exactamente qué métricas de JMX se admiten para su entorno en particular.

Para ver las métricas disponibles, establezca el nivel de autodiagnóstico en DEBUG en el archivo de configuración applicationinsights.json, por ejemplo:

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

Las métricas de JMX disponibles, con los nombres de objeto y los nombres de atributo, aparecerán en el archivo de registro de Application Insights.

La salida del archivo de registro es similar a estos ejemplos. En algunos casos, puede ser extensa.

Captura de pantalla de las métricas de JMX disponibles en el archivo de registro.

También puede usar una herramienta de línea de comandos para comprobar las métricas de JMX disponibles.

Ejemplo de configuración

Sabiendo qué métricas están disponibles, puede configurar el agente para que las recopile. El primero es un ejemplo de una métrica anidada LastGcInfo, que tiene varias propiedades, y queremos capturar 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"
      }
],

¿Dónde encuentro las métricas de JMX en Application Insights?

Para ver las métricas de JMX recopiladas mientras se ejecuta la aplicación, vaya al recurso de Application Insights en Azure Portal. En la pestaña Métricas, seleccione la lista desplegable que se muestra para ver las métricas.

Captura de pantalla de las métricas en el portal