Настройка метрик JMX

Приложение Аналитика Java 3.x собирает некоторые метрики расширений управления Java (JMX) по умолчанию, но во многих случаях недостаточно. В этом документе подробно описываются параметры конфигурации JMX.

Разделы справки собирать дополнительные метрики JMX?

Сбор метрик JMX можно настроить, добавив раздел "jmxMetrics" в файл applicationinsights.js. Введите имя для метрики, так как она будет отображаться в портал Azure в ресурсе Application Insights. Имя и атрибут объекта необходимы для каждой из метрик, которые нужно собрать. Можно использовать * в именах объектов для дикого стиля глоба карта (сведения).

Как узнать, какие метрики доступны для настройки?

Прямо в точку! Необходимо знать имена и атрибуты объектов. Эти свойства отличаются в разных библиотеках, на разных платформах и серверах приложений и часто бывают недостаточно хорошо задокументированы. К счастью, можно легко определить, какие метрики JMX поддерживаются для конкретной среды.

Чтобы просмотреть доступные метрики, в файле конфигурации applicationinsights.json задайте для уровня самодиагностики значение DEBUG, например:

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

Доступные метрики JMX с именами объектов и именами атрибутов отображаются в файле журнала приложения Аналитика.

Выходные данные файла журнала выглядят примерно так, как в этих примерах. В некоторых случаях это может быть обширным.

Снимок экрана: доступные метрики JMX в файле журнала.

Вы также можете использовать средство командной строки для проверка доступных метрик JMX.

Пример конфигурации

Зная, какие метрики доступны, можно настроить агент для их сбора. Первый из них является примером вложенной метрики — LastGcInfo, которая имеет несколько свойств, и мы хотим захватить 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"
      }
],

Где найти метрики JMX в Application Insights?

Метрики JMX, собранные во время работы приложения, можно просмотреть, перейдя к ресурсу Application Insights в портал Azure. На вкладке "Метрики" выберите раскрывающийся список, как показано для просмотра метрик.

Снимок экрана: метрики в портале