Java Management Extensions(JMX) 지표 수집
CloudWatch 에이전트를 사용하여 Java 애플리케이션에서 Java Management Extensions(JMX) 지표를 수집할 수 있습니다.
CloudWatch 에이전트는 다음과 같은 버전에서 이러한 지표 수집을 지원합니다.
JVM 8 이상
Kafka 0.8.2.x 이상
Tomcat 9, 10.1 및 11(베타)
JMX 지표를 수집하려면 CloudWatch 에이전트 구성 파일의 metrics_collected
섹션에 jmx
섹션을 추가합니다. jmx
섹션에는 다음 필드가 포함될 수 있습니다.
jvm
– 선택 사항입니다. 인스턴스에서 Java Virtual Machine(JVM) 지표를 검색하도록 지정합니다. 자세한 내용은 JVM 지표 수집 섹션을 참조하세요.이 섹션은 다음 필드를 포함할 수 있습니다.
-
measurement
– 수집할 JVM 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 JVM 지표 수집의 테이블에서 지표(Metric) 열을 참조하세요.각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.
-
rename
– 이 지표에 대해 다른 이름을 지정합니다. -
unit
– 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatum의Unit
설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.
-
-
kafka
– 선택 사항입니다. 인스턴스에서 Apache Kafka 브로커 지표를 검색하도록 지정합니다. 자세한 내용은 Kafka 지표 수집 섹션을 참조하세요.이 섹션은 다음 필드를 포함할 수 있습니다.
-
measurement
– 수집할 Kafka 브로커 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 Kafka 지표 수집의 첫 번째 테이블에서 지표 열을 참조하세요.각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.
-
rename
– 이 지표에 대해 다른 이름을 지정합니다. -
unit
– 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatum의Unit
설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.
-
-
kafka-consumer
– 선택 사항입니다. 인스턴스에서 Apache Kafka 소비자 지표를 검색하도록 지정합니다. 자세한 내용은 Kafka 지표 수집 섹션을 참조하세요.이 섹션은 다음 필드를 포함할 수 있습니다.
-
measurement
– 수집할 Kafka 브로커 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 Kafka 지표 수집의 두 번째 지표 테이블에서 지표 열을 참조하세요.각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.
-
rename
– 이 지표에 대해 다른 이름을 지정합니다. -
unit
– 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatum의Unit
설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.
-
-
kafka-producer
– 선택 사항입니다. 인스턴스에서 Apache Kafka 생산자 지표를 검색하도록 지정합니다. 자세한 내용은 Kafka 지표 수집 섹션을 참조하세요.이 섹션은 다음 필드를 포함할 수 있습니다.
-
measurement
– 수집할 Kafka 브로커 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 Kafka 지표 수집의 세 번째 지표 테이블에서 지표 열을 참조하세요.각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.
-
rename
– 이 지표에 대해 다른 이름을 지정합니다. -
unit
– 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatum의Unit
설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.
-
-
tomcat
– 선택 사항입니다. 인스턴스에서 Tomcat 지표를 검색하도록 지정합니다. 자세한 내용은 Tomcat 지표 수집 섹션을 참조하세요.이 섹션은 다음 필드를 포함할 수 있습니다.
-
measurement
– 수집할 Tomcat 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 Tomcat 지표 수집의 테이블에서 지표(Metric) 열을 참조하세요.각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.
-
rename
– 이 지표에 대해 다른 이름을 지정합니다. -
unit
– 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatum의Unit
설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.
-
-
jmx
섹션에는 다음과 같은 선택적 append_dimensions
필드도 포함될 수 있습니다.
-
append_dimensions
– 선택 사항입니다. 프로세스 지표에만 사용할 수 있는 추가 측정기준입니다. 이 필드를 지정하면 에이전트에 의해 수집되는 모든 유형의 지표에 대해 사용되는append_dimensions
필드에 지정되어 있는 측정기준 외에 이 측정기준도 사용됩니다.
아래의 필드는 Amazon EC2에만 해당됩니다.
-
endpoint
- JMX 클라이언트가 연결할 주소입니다. 형식은ip:port
입니다. 엔드포인트가 localhost가 아닌 경우, 암호 인증 및 SSL을 활성화해야 합니다. -
metrics_collection_interval
– 선택 사항입니다. 프로세스 지표를 수집하여 구성 파일의agent
섹션에 지정되어 있는 글로벌metrics_collection_interval
값을 재정의할 빈도를 지정합니다.이 값은 초 단위로 지정됩니다. 예를 들어, 10을 지정하면 10초마다 지표가 수집되도록 설정되며, 300으로 설정하면 5분마다 지표가 수집되도록 지정됩니다.
이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 자세한 내용은 고분해능 지표 섹션을 참조하세요.
JMX가 원격 액세스를 위해 암호 인증 또는 SSL로 활성화된 경우, 아래의 필드를 사용할 수 있습니다.
-
password_file
– 선택 사항입니다. 암호에 대한 키의 Java 속성 파일을 지정합니다. 파일은 읽기 전용이어야 하며, CloudWatch 에이전트를 실행하는 사용자 대상으로만 제한해야 합니다. 암호 인증이 활성화된 경우,com.sun.management.jmxremote.password.file
속성에 제공된 JMX 암호 파일의 항목과 동일한 사용자 이름과 암호 페어가 필요합니다. SSL이 활성화된 경우,keystore
및truststore
에 대한 항목이 필요하며 이는 각각javax.net.ssl.trustStorePassword
및javax.net.ssl.keyStorePassword
에 해당합니다. -
username
- 암호 인증이 활성화된 경우, 제공된 암호 파일에서 사용자 이름과 일치하는 사용자 이름을 지정합니다. -
keystore_path
– SSL이 활성화된 경우, 프라이빗 키와 퍼블릭 키의 인증서로 구성된 Java 키 스토어의 전체 경로를 지정합니다.javax.net.ssl.keyStore
속성에 해당합니다. -
keystore_type
– SSL이 활성화된 경우, 사용 중인 키스토어 유형을 지정합니다.javax.net.ssl.keyStoreType
속성에 해당합니다. -
truststore_path
– SSL이 활성화된 경우, 원격 JMX 서버의 퍼블릭 인증서를 포함해야 하는 Java 트러스트 스토어의 전체 경로를 지정합니다.javax.net.ssl.trustStore
속성에 해당합니다. -
truststore_type
- SSL이 활성화된 경우, 사용 중인 트러스트 스토어 유형을 지정합니다.javax.net.ssl.trustStoreType
속성에 해당합니다. -
remote_profile
– 선택 사항입니다. 지원되는 JMX 원격 프로필은 SASL 프로필SASL/PLAIN
,SASL/DIGEST-MD5
,SASL/CRAM-MD5
와 조합된 TLS입니다.SASL/PLAIN
,SASL/DIGEST-MD5
,SASL/CRAM-MD5
,TLS SASL/PLAIN
,TLS SASL/DIGEST-MD5
,TLS SASL/CRAM-MD5
중 하나여야 합니다. -
realm
– 선택 사항입니다. 원격 프로필SASL/DIGEST-MD5
에 필요한 영역입니다. -
registry_ssl_enabled
– RMI 레지스트리 인증이 활성화된 경우입니다. JVM이com.sun.management.jmxremote.registry.ssl=true
로 구성된 경우 true로 설정합니다. insecure
– 에이전트가 비로컬 호스트 엔드포인트에 대해 구성된 경우, 필요한 검증을 옵트아웃하려면true
로 설정합니다.
다음은 CloudWatch 에이전트 구성 파일의 jmx
섹션의 예입니다.
{ "metrics": { "metrics_collected": { "jmx": [ { "endpoint": "remotehost:1314", "jvm": { "measurement": [ "jvm.memory.heap.init", "jvm.memory.nonheap.used" ] }, "kafka": { "measurement": [ "kafka.request.count", { "name": "kafka.message.count", "rename": "KAFKA_MESSAGE_COUNT", "unit": "Count" } ] }, "username": "cwagent", "keystore_path": "/path/to/keystore", "keystore_type": "PKCS12", "truststore_path": "/path/to/truststore", "truststore_type": "PKCS12" }, { "endpoint": "localhost:1315", "kafka-producer": { "measurement": [ "kafka.producer.request-rate" ] }, "append_dimensions": { "service.name": "kafka/1" } } ] } } }
JVM 지표 수집
CloudWatch 에이전트를 사용하여 Java Virtual Machine(JVM) 지표를 수집할 수 있습니다. 이를 설정하려면 CloudWatch 에이전트 구성 파일의 jmx
섹션에 jvm
섹션을 추가합니다.
다음 지표를 수집할 수 있습니다.
지표 | Dimensions | 설명 |
---|---|---|
|
[DEFAULT] |
로드된 클래스의 총 개수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
폐영역 회수가 발생한 총 횟수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
누적된 대략적인 폐영역 회수 경과 시간. 단위: 밀리초 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
JVM이 힙에 사용되는 운영 체제에서 요청하는 초기 메모리 양. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
힙에 사용할 수 있는 최대 메모리 양. 단위: 바이트 유용한 통계: 최대 |
|
[DEFAULT] |
현재 힙 메모리 사용량. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
힙에 사용할 수 있도록 보장되는 메모리의 양. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
JVM이 힙 이외의 용도로 사용되는 운영 체제에서 요청하는 초기 메모리 양. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
힙 이외의 용도로 사용할 수 있는 최대 메모리 양. 단위: 바이트 유용한 통계: 최대 |
|
[DEFAULT] |
현재 힙 이외의 메모리 사용량. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
힙 이외의 용도로 사용할 수 있도록 보장되는 메모리의 양. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
JVM이 메모리 풀에 사용되는 운영 체제에서 요청하는 초기 메모리 양. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
메모리 풀에 사용할 수 있는 최대 메모리 양. 단위: 바이트 유용한 통계: 최대 |
|
[DEFAULT], |
현재 메모리 풀의 메모리 사용량. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
메모리 풀에 사용할 수 있도록 보장되는 메모리의 양. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
현재 스레드 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
JVM 지표는 아래의 차원과 함께 수집됩니다.
차원 | 설명 |
---|---|
[DEFAULT] |
Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표( |
|
|
Kafka 지표 수집
CloudWatch 에이전트를 사용하여 Apache Kafka 지표를 수집할 수 있습니다. 이를 설정하려면 CloudWatch 에이전트 구성 파일의 jmx
섹션에 다음과 같은 하위 섹션을 하나 이상 추가합니다.
kafka
섹션을 사용하여 Kafka 브로커 지표를 수집합니다.kafka-consumer
섹션을 사용하여 Kafka 소비자 지표를 수집합니다.kafka-producer
섹션을 사용하여 Kafka 생산자 지표를 수집합니다.
Kafka 브로커 지표
Kafka 브로커의 경우 다음 지표를 수집할 수 있습니다.
지표 | Dimensions | 설명 |
---|---|---|
|
[DEFAULT] |
Kafka 브로커에 수신된 메시지 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
Kafka 브로커에 수신된 요청 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
실패가 발생한 Kafka 브로커에 대한 요청 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
Kafka 브로커가 서비스를 요청하는 데 걸린 총 시간. 단위: 밀리초 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
Kafka 브로커가 서비스를 요청하는 데 걸린 50 백분위수 시간. 단위: 밀리초 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
Kafka 브로커가 서비스를 요청하는 데 걸린 99 백분위수 시간. 단위: 밀리초 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
Kafka 브로커가 서비스를 요청하는 데 걸린 평균 시간. 단위: 밀리초 유용한 통계: 평균 |
|
[DEFAULT], |
Kafka 브로커가 수신하거나 전송한 바이트 수. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
미완료 공간(purgatory)에 대기 중인 요청 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
Kafka 브로커의 파티션 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
오프라인 상태인 총 파티션 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
복제가 덜 진행된 파티션 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
동기화되는 복제본 축소 및 확장 작업 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
팔로워 복제본과 리더 복제본 간 메시지의 최대 지연 시간. 단위: 없음 유용한 통계: 최대 |
|
[DEFAULT] |
브로커의 활성 컨트롤러 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
리더 선정 속도. 이 값이 증가하면 브로커 실패를 나타내는 것입니다. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
명확하지 않은 리더 선정 속도. 이 값이 증가하면 브로커 실패를 나타내는 것입니다. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
요청 대기열의 크기. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
로그 플러시 수. 단위: 밀리초 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
로그 플러시 수의 50 백분위수 값. 단위: 밀리초 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT] |
로그 플러시 수의 99 백분위수 값. 단위: 밀리초 유용한 통계: 최소, 최대, 평균 |
Kafka 브로커 지표는 아래의 차원과 함께 수집됩니다.
차원 | 설명 |
---|---|
[DEFAULT] |
Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표( |
|
요청 유형. 가능한 값은 |
|
네트워크 트래픽의 방향. 가능한 값은 |
|
동기화되는 복제본의 작업 유형. 가능한 값은 |
Kafka 소비자 지표
Kafka 소비자의 경우 다음과 같은 지표를 수집할 수 있습니다.
지표 | Dimensions | 설명 |
---|---|---|
|
[DEFAULT], |
초당 모든 주제에 대한 가져오기 요청 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
소비자가 생산자보다 지연되는 메시지 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
초당 사용된 모든 주제의 평균 바이트 수. 단위: 바이트 유용한 통계: 평균 |
|
[DEFAULT], |
모든 주제에 대해 요청당 가져온 바이트 수. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
초당 사용된 모든 주제의 평균 레코드 수. 단위: 없음 유용한 통계: 평균 |
|
[DEFAULT], |
초당 사용된 평균 바이트 수 단위: 바이트 유용한 통계: 평균 |
|
[DEFAULT], |
요청당 가져온 바이트 수. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
초당 사용된 평균 레코드 수. 단위: 없음 유용한 통계: 평균 |
Kafka 소비자 지표는 아래의 차원과 함께 수집됩니다.
차원 | 설명 |
---|---|
[DEFAULT] |
Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표( |
|
클라이언트의 ID입니다. |
|
Kafka 주제. |
Kafka 생산자 지표
Kafka 생산자의 경우 다음과 같은 지표를 수집할 수 있습니다.
지표 | Dimensions | 설명 |
---|---|---|
|
[DEFAULT], |
I/O 스레드가 읽기 또는 쓰기 준비가 된 소켓을 기다리는 데 소비한 평균 시간. 단위: 없음 유용한 통계: 평균 |
|
[DEFAULT], |
모든 서버로 초당 전송된 평균 발신 바이트 수. 단위: 바이트 유용한 통계: 평균 |
|
[DEFAULT], |
평균 요청 지연 시간. 단위: 밀리초 유용한 통계: 평균 |
|
[DEFAULT], |
초당 평균 요청 수. 단위: 없음 유용한 통계: 평균 |
|
[DEFAULT], |
초당 수신된 응답 수 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
주제에 대해 초당 전송된 평균 바이트 수. 단위: 바이트 유용한 통계: 평균 |
|
[DEFAULT], |
주제에 대한 레코드 배치의 평균 압축률. 단위: 없음 유용한 통계: 평균 |
|
[DEFAULT], |
주제에 대해 오류가 발생한 초당 평균 레코드를 전송하는 횟수. 단위: 없음 유용한 통계: 평균 |
|
[DEFAULT], |
주제에 대해 초당 평균 재시도된 레코드를 전송하는 횟수. 단위: 없음 유용한 통계: 평균 |
|
[DEFAULT], |
주제에 대해 초당 전송된 평균 레코드 수. 단위: 없음 유용한 통계: 평균 |
Kafka 생산자 지표는 아래의 차원과 함께 수집됩니다.
차원 | 설명 |
---|---|
[DEFAULT] |
Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표( |
|
클라이언트의 ID입니다. |
|
Kafka 주제. |
Tomcat 지표 수집
CloudWatch 에이전트를 사용하여 Apache Tomcat 지표를 수집할 수 있습니다. 이를 설정하려면 CloudWatch 에이전트 구성 파일의 metrics_collected
섹션에 tomcat
섹션을 추가합니다.
다음 지표를 수집할 수 있습니다.
지표 | Dimensions | 설명 |
---|---|---|
|
[DEFAULT] |
활성 세션 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
오류가 발생한 횟수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
총 처리 시간. 단위: 밀리초 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
수신 및 전송한 바이트 수. 단위: 바이트 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
스레드 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
|
[DEFAULT], |
요청을 처리하는 데 걸리는 최대 시간. 단위: 밀리초 유용한 통계: 최대 |
|
[DEFAULT], |
총 요청 수. 단위: 없음 유용한 통계: 최소, 최대, 평균 |
Tomcat 지표는 아래의 차원과 함께 수집됩니다.
차원 | 설명 |
---|---|
[DEFAULT] |
Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표( |
|
|
|
트래픽 방향. 가능한 값은 |