Konfigurowanie metryk JMX

Aplikacja Szczegółowe informacje Java 3.x zbiera domyślnie niektóre metryki rozszerzeń zarządzania Java (JMX), ale w wielu przypadkach nie wystarczy. W tym dokumencie opisano opcję konfiguracji JMX w szczegółach.

Jak mogę zbierać dodatkowe metryki JMX?

Zbieranie metryk JMX można skonfigurować, dodając sekcję "jmxMetrics" do pliku applicationinsights.json. Wprowadź nazwę metryki, która ma być wyświetlana w witrynie Azure Portal w zasobie usługi Application Insights. Nazwa obiektu i atrybut są wymagane dla każdej z zbieranych metryk. W nazwach obiektów można używać * symboli wieloznacznych w stylu globu (szczegóły).

Jak mogę wiedzieć, jakie metryki są dostępne do skonfigurowania?

Przybity — musisz znać nazwy obiektów i atrybuty, te właściwości są różne dla różnych bibliotek, struktur i serwerów aplikacji, i często nie są dobrze udokumentowane. Na szczęście można łatwo znaleźć dokładnie metryki JMX obsługiwane w danym środowisku.

Aby wyświetlić dostępne metryki, ustaw poziom samodzielnej diagnostyki na DEBUG w applicationinsights.json pliku konfiguracji, na przykład:

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

Dostępne metryki JMX z nazwami obiektów i nazwami atrybutów są wyświetlane w pliku dziennika Szczegółowe informacje aplikacji.

Dane wyjściowe pliku dziennika wyglądają podobnie do tych przykładów. W niektórych przypadkach może to być obszerne.

Zrzut ekranu przedstawiający dostępne metryki JMX w pliku dziennika.

Możesz również użyć narzędzia wiersza polecenia, aby sprawdzić dostępne metryki JMX.

Przykład konfiguracji

Wiedząc, jakie metryki są dostępne, można skonfigurować agenta w celu ich zbierania. Pierwszy z nich to przykład zagnieżdżonej metryki — LastGcInfo która ma kilka właściwości i chcemy przechwycić element 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"
      }
],

Gdzie mogę znaleźć metryki JMX w usłudze Application Insights?

Metryki JMX zebrane podczas działania aplikacji można wyświetlić, przechodząc do zasobu usługi Application Insights w witrynie Azure Portal. Na karcie Metryki wybierz listę rozwijaną, jak pokazano, aby wyświetlić metryki.

Zrzut ekranu przedstawiający metryki w portalu