JMX 메트릭 구성
Application Insights Java 3.x는 기본적으로 JMX(Java Management Extensions) 메트릭 중 일부를 수집하지만 대부분의 경우 충분하지 않습니다. 이 문서에서는 JMX 구성 옵션에 대해 자세히 설명합니다.
추가 JMX 메트릭을 수집하려면 어떻게 해야 하나요?
JMX 메트릭 수집은 applicationinsights.json 파일에 "jmxMetrics"
섹션을 추가하여 구성할 수 있습니다. Application Insights 리소스의 Azure Portal에 표시할 메트릭의 이름을 입력합니다. 수집하려는 각 메트릭에 대해 개체 이름과 특성이 필요합니다. glob 스타일 와일드카드의 개체 이름에 *
을 사용할 수 있습니다(세부 정보).
어떤 메트릭을 구성에 사용할 수 있는지 아는 방법은 무엇인가요?
중요한 질문입니다. 개체 이름 및 특성을 알고 계셔야 합니다. 해당 속성은 라이브러리, 프레임워크 및 애플리케이션 서버별로 다르고 제대로 문서화되지 않는 경우가 많습니다. 다행히 특정 환경에서 지원되는 JMX 메트릭을 정확히 쉽게 찾을 수 있습니다.
사용 가능한 메트릭을 보려면 applicationinsights.json
구성 파일에서 자가 진단 수준을 DEBUG
로 설정합니다. 예를 들면 다음과 같습니다.
{
"selfDiagnostics": {
"level": "DEBUG"
}
}
개체 이름 및 특성 이름이 있는 사용 가능한 JMX 메트릭이 Application Insights 로그 파일에 표시됩니다.
로그 파일 출력은 이러한 예제와 유사합니다. 경우에 따라 광범위할 수 있습니다.
명령줄 도구를 사용하여 사용 가능한 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"
}
],
Application Insights에서 JMX 메트릭을 찾을 수 있는 위치는 어디인가요?
Azure Portal의 Application Insights 리소스로 이동하여 애플리케이션이 실행되는 동안 수집된 JMX 메트릭을 볼 수 있습니다. 메트릭 탭에서 표시된 것처럼 드롭다운을 선택하면 해당 메트릭이 표시됩니다.