Java Management Extensions(JMX) 지표 수집 - Amazon CloudWatch

Java Management Extensions(JMX) 지표 수집

CloudWatch 에이전트를 사용하여 Java 애플리케이션에서 Java Management Extensions(JMX) 지표를 수집할 수 있습니다.

CloudWatch 에이전트는 다음과 같은 버전에서 이러한 지표 수집을 지원합니다.

  • JVM 8 이상

  • Kafka 0.8.2.x 이상

  • Tomcat 9, 10.1 및 11(베타)

Amazon EC2
JVM 인스턴스에서 JMX를 활성화하려면 다음을 수행합니다.

CloudWatch 에이전트가 JMX 지표를 수집할 수 있도록 하려면 애플리케이션의 JVM이 com.sun.management.jmxremote.port 시스템 속성을 사용하여 포트에 바인딩되어야 합니다.

java -Dcom.sun.management.jmxremote.port=port-number -jar example.jar

자세한 내용 및 기타 구성은 JMX Exporter 설명서를 참조하세요.

Amazon EKS
Java 애플리케이션 포드에서 JMX를 활성화하려면 다음을 수행합니다.

CloudWatch Observability EKS 추가 기능을 사용할 경우, 주석을 사용하여 JMX 지표를 활성화하는 방법을 관리할 수 있습니다. 자세한 내용은 Amazon CloudWatch Observability EKS 추가 기능 또는 헬름 차트를 사용하여 CloudWatch 에이전트 설치 섹션을 참조하세요. 워크로드에서 JMX 지표 수집을 활성화하려면 PodTemplate 섹션 아래의 워크로드 매니페스트 파일에 다음과 같은 주석을 추가합니다.

  • instrumentation.opentelemetry.io/inject-java: "true"

  • 다음 중 한 개 이상을 수행할 수 있습니다.

    • JVM 지표의 경우: cloudwatch.aws.amazon.com/inject-jmx-jvm: "true"

    • Kafka 브로커 지표의 경우: cloudwatch.aws.amazon.com/inject-jmx-kafka: "true"

    • Kafka 소비자 지표의 경우: cloudwatch.aws.amazon.com/inject-jmx-kafka-consumer: "true"

    • Kafka 생산자 지표의 경우: cloudwatch.aws.amazon.com/inject-jmx-kafka-producer: "true"

    • Tomcat 지표의 경우: cloudwatch.aws.amazon.com/inject-jmx-tomcat: "true"

JMX 지표를 수집하려면 CloudWatch 에이전트 구성 파일의 metrics_collected 섹션에 jmx 섹션을 추가합니다. jmx 섹션에는 다음 필드가 포함될 수 있습니다.

  • jvm – 선택 사항입니다. 인스턴스에서 Java Virtual Machine(JVM) 지표를 검색하도록 지정합니다. 자세한 내용은 JVM 지표 수집 섹션을 참조하세요.

    이 섹션은 다음 필드를 포함할 수 있습니다.

    • measurement – 수집할 JVM 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 JVM 지표 수집의 테이블에서 지표(Metric) 열을 참조하세요.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.

  • kafka – 선택 사항입니다. 인스턴스에서 Apache Kafka 브로커 지표를 검색하도록 지정합니다. 자세한 내용은 Kafka 지표 수집 섹션을 참조하세요.

    이 섹션은 다음 필드를 포함할 수 있습니다.

    • measurement – 수집할 Kafka 브로커 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 Kafka 지표 수집의 첫 번째 테이블에서 지표 열을 참조하세요.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.

  • kafka-consumer – 선택 사항입니다. 인스턴스에서 Apache Kafka 소비자 지표를 검색하도록 지정합니다. 자세한 내용은 Kafka 지표 수집 섹션을 참조하세요.

    이 섹션은 다음 필드를 포함할 수 있습니다.

    • measurement – 수집할 Kafka 브로커 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 Kafka 지표 수집의 두 번째 지표 테이블에서 지표 열을 참조하세요.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.

  • kafka-producer – 선택 사항입니다. 인스턴스에서 Apache Kafka 생산자 지표를 검색하도록 지정합니다. 자세한 내용은 Kafka 지표 수집 섹션을 참조하세요.

    이 섹션은 다음 필드를 포함할 수 있습니다.

    • measurement – 수집할 Kafka 브로커 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 Kafka 지표 수집의 세 번째 지표 테이블에서 지표 열을 참조하세요.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나열된 대로 유효한 CloudWatch 지표 단위여야 합니다.

  • tomcat – 선택 사항입니다. 인스턴스에서 Tomcat 지표를 검색하도록 지정합니다. 자세한 내용은 Tomcat 지표 수집 섹션을 참조하세요.

    이 섹션은 다음 필드를 포함할 수 있습니다.

    • measurement – 수집할 Tomcat 지표의 배열을 지정합니다. 여기에서 사용할 수 있는 값 목록은 Tomcat 지표 수집의 테이블에서 지표(Metric) 열을 참조하세요.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 사용할 단위를 지정하여 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나열된 대로 유효한 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이 활성화된 경우, keystoretruststore에 대한 항목이 필요하며 이는 각각 javax.net.ssl.trustStorePasswordjavax.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 설명

jvm.classes.loaded

[DEFAULT]

로드된 클래스의 총 개수.

단위: 없음

유용한 통계: 최소, 최대, 평균

jvm.gc.collections.count

[DEFAULT], name

폐영역 회수가 발생한 총 횟수.

단위: 없음

유용한 통계: 최소, 최대, 평균

jvm.gc.collections.elapsed

[DEFAULT], name

누적된 대략적인 폐영역 회수 경과 시간.

단위: 밀리초

유용한 통계: 최소, 최대, 평균

jvm.memory.heap.init

[DEFAULT]

JVM이 힙에 사용되는 운영 체제에서 요청하는 초기 메모리 양.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.memory.heap.max

[DEFAULT]

힙에 사용할 수 있는 최대 메모리 양.

단위: 바이트

유용한 통계: 최대

jvm.memory.heap.used

[DEFAULT]

현재 힙 메모리 사용량.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.memory.heap.committed

[DEFAULT]

힙에 사용할 수 있도록 보장되는 메모리의 양.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.memory.nonheap.init

[DEFAULT]

JVM이 힙 이외의 용도로 사용되는 운영 체제에서 요청하는 초기 메모리 양.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.memory.nonheap.max

[DEFAULT]

힙 이외의 용도로 사용할 수 있는 최대 메모리 양.

단위: 바이트

유용한 통계: 최대

jvm.memory.nonheap.used

[DEFAULT]

현재 힙 이외의 메모리 사용량.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.memory.nonheap.committed

[DEFAULT]

힙 이외의 용도로 사용할 수 있도록 보장되는 메모리의 양.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.memory.pool.init

[DEFAULT], name

JVM이 메모리 풀에 사용되는 운영 체제에서 요청하는 초기 메모리 양.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.memory.pool.max

[DEFAULT], name

메모리 풀에 사용할 수 있는 최대 메모리 양.

단위: 바이트

유용한 통계: 최대

jvm.memory.pool.used

[DEFAULT], name

현재 메모리 풀의 메모리 사용량.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.memory.pool.committed

[DEFAULT], name

메모리 풀에 사용할 수 있도록 보장되는 메모리의 양.

단위: 바이트

유용한 통계: 최소, 최대, 평균

jvm.threads.count

[DEFAULT]

현재 스레드 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

JVM 지표는 아래의 차원과 함께 수집됩니다.

차원 설명

[DEFAULT]

metrics 섹션의 append_dimensions 필드를 사용하는 경우를 제외하고, Amazon EC2에서는 기본적으로 호스트도 CloudWatch 에이전트가 수집하는 지표의 차원으로 게시됩니다. 자세한 내용은 수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집의 에이전트 섹션에서 omit_hostname 항목을 참조하세요.

Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표(k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name)의 차원으로 게시됩니다k8s.replicaset.name. 이는 aggregation_dimensions 필드를 사용하여 필터링할 수 있습니다.

name

jvm.gc.collections 지표의 경우 값은 폐영역 수집기 이름입니다.

jvm.memory.pool 지표의 경우 값은 메모리 풀 이름입니다.

Kafka 지표 수집

CloudWatch 에이전트를 사용하여 Apache Kafka 지표를 수집할 수 있습니다. 이를 설정하려면 CloudWatch 에이전트 구성 파일의 jmx 섹션에 다음과 같은 하위 섹션을 하나 이상 추가합니다.

  • kafka 섹션을 사용하여 Kafka 브로커 지표를 수집합니다.

  • kafka-consumer 섹션을 사용하여 Kafka 소비자 지표를 수집합니다.

  • kafka-producer 섹션을 사용하여 Kafka 생산자 지표를 수집합니다.

Kafka 브로커 지표

Kafka 브로커의 경우 다음 지표를 수집할 수 있습니다.

지표 Dimensions 설명

kafka.message.count

[DEFAULT]

Kafka 브로커에 수신된 메시지 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.request.count

[DEFAULT], type

Kafka 브로커에 수신된 요청 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.request.failed

[DEFAULT], type

실패가 발생한 Kafka 브로커에 대한 요청 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.request.time.total

[DEFAULT], type

Kafka 브로커가 서비스를 요청하는 데 걸린 총 시간.

단위: 밀리초

유용한 통계: 최소, 최대, 평균

kafka.request.time.50p

[DEFAULT], type

Kafka 브로커가 서비스를 요청하는 데 걸린 50 백분위수 시간.

단위: 밀리초

유용한 통계: 최소, 최대, 평균

kafka.request.time.99p

[DEFAULT], type

Kafka 브로커가 서비스를 요청하는 데 걸린 99 백분위수 시간.

단위: 밀리초

유용한 통계: 최소, 최대, 평균

kafka.request.time.avg

[DEFAULT], type

Kafka 브로커가 서비스를 요청하는 데 걸린 평균 시간.

단위: 밀리초

유용한 통계: 평균

kafka.network.io

[DEFAULT], state

Kafka 브로커가 수신하거나 전송한 바이트 수.

단위: 바이트

유용한 통계: 최소, 최대, 평균

kafka.purgatory.size

[DEFAULT], type

미완료 공간(purgatory)에 대기 중인 요청 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.partition.count

[DEFAULT]

Kafka 브로커의 파티션 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.partition.offline

[DEFAULT]

오프라인 상태인 총 파티션 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.partition.under_replicated

[DEFAULT]

복제가 덜 진행된 파티션 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.isr.operation.count

[DEFAULT], operation

동기화되는 복제본 축소 및 확장 작업 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.max.lag

[DEFAULT]

팔로워 복제본과 리더 복제본 간 메시지의 최대 지연 시간.

단위: 없음

유용한 통계: 최대

kafka.controller.active.count

[DEFAULT]

브로커의 활성 컨트롤러 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.leader.election.rate

[DEFAULT]

리더 선정 속도. 이 값이 증가하면 브로커 실패를 나타내는 것입니다.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.unclean.election.rate

[DEFAULT]

명확하지 않은 리더 선정 속도. 이 값이 증가하면 브로커 실패를 나타내는 것입니다.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.request.queue

[DEFAULT]

요청 대기열의 크기.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.logs.flush.time.count

[DEFAULT]

로그 플러시 수.

단위: 밀리초

유용한 통계: 최소, 최대, 평균

kafka.logs.flush.time.median

[DEFAULT]

로그 플러시 수의 50 백분위수 값.

단위: 밀리초

유용한 통계: 최소, 최대, 평균

kafka.logs.flush.time.99p

[DEFAULT]

로그 플러시 수의 99 백분위수 값.

단위: 밀리초

유용한 통계: 최소, 최대, 평균

Kafka 브로커 지표는 아래의 차원과 함께 수집됩니다.

차원 설명

[DEFAULT]

metrics 섹션의 append_dimensions 필드를 사용하는 경우를 제외하고, Amazon EC2에서는 기본적으로 호스트도 CloudWatch 에이전트가 수집하는 지표의 차원으로 게시됩니다. 자세한 내용은 수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집의 에이전트 섹션에서 omit_hostname 항목을 참조하세요.

Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표(k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name)의 차원으로 게시됩니다k8s.replicaset.name. 이는 aggregation_dimensions 필드를 사용하여 필터링할 수 있습니다.

type

요청 유형. 가능한 값은 produce, fetch, fetchconsumerfetchfollower입니다.

state

네트워크 트래픽의 방향. 가능한 값은 inout입니다.

operation

동기화되는 복제본의 작업 유형. 가능한 값은 shrinkexpand입니다.

Kafka 소비자 지표

Kafka 소비자의 경우 다음과 같은 지표를 수집할 수 있습니다.

지표 Dimensions 설명

kafka.consumer.fetch-rate

[DEFAULT], client-id

초당 모든 주제에 대한 가져오기 요청 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.consumer.records-lag-max

[DEFAULT], client-id

소비자가 생산자보다 지연되는 메시지 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.consumer.total.bytes-consumed-rate

[DEFAULT], client-id

초당 사용된 모든 주제의 평균 바이트 수.

단위: 바이트

유용한 통계: 평균

kafka.consumer.total.fetch-size-avg

[DEFAULT], client-id

모든 주제에 대해 요청당 가져온 바이트 수.

단위: 바이트

유용한 통계: 최소, 최대, 평균

kafka.consumer.total.records-consumed-rate

[DEFAULT], client-id

초당 사용된 모든 주제의 평균 레코드 수.

단위: 없음

유용한 통계: 평균

kafka.consumer.bytes-consumed-rate

[DEFAULT], client-id, topic

초당 사용된 평균 바이트 수

단위: 바이트

유용한 통계: 평균

kafka.consumer.fetch-size-avg

[DEFAULT], client-id, topic

요청당 가져온 바이트 수.

단위: 바이트

유용한 통계: 최소, 최대, 평균

kafka.consumer.records-consumed-rate

[DEFAULT], client-id, topic

초당 사용된 평균 레코드 수.

단위: 없음

유용한 통계: 평균

Kafka 소비자 지표는 아래의 차원과 함께 수집됩니다.

차원 설명

[DEFAULT]

metrics 섹션의 append_dimensions 필드를 사용하는 경우를 제외하고, Amazon EC2에서는 기본적으로 호스트도 CloudWatch 에이전트가 수집하는 지표의 차원으로 게시됩니다. 자세한 내용은 수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집의 에이전트 섹션에서 omit_hostname 항목을 참조하세요.

Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표(k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name)의 차원으로 게시됩니다k8s.replicaset.name. 이는 aggregation_dimensions 필드를 사용하여 필터링할 수 있습니다.

client-id

클라이언트의 ID입니다.

topic

Kafka 주제.

Kafka 생산자 지표

Kafka 생산자의 경우 다음과 같은 지표를 수집할 수 있습니다.

지표 Dimensions 설명

kafka.producer.io-wait-time-ns-avg

[DEFAULT], client-id

I/O 스레드가 읽기 또는 쓰기 준비가 된 소켓을 기다리는 데 소비한 평균 시간.

단위: 없음

유용한 통계: 평균

kafka.producer.outgoing-byte-rate

[DEFAULT], client-id

모든 서버로 초당 전송된 평균 발신 바이트 수.

단위: 바이트

유용한 통계: 평균

kafka.producer.request-latency-avg

[DEFAULT], client-id

평균 요청 지연 시간.

단위: 밀리초

유용한 통계: 평균

kafka.producer.request-rate

[DEFAULT], client-id

초당 평균 요청 수.

단위: 없음

유용한 통계: 평균

kafka.producer.response-rate

[DEFAULT], client-id

초당 수신된 응답 수

단위: 없음

유용한 통계: 최소, 최대, 평균

kafka.producer.byte-rate

[DEFAULT], client-id, topic

주제에 대해 초당 전송된 평균 바이트 수.

단위: 바이트

유용한 통계: 평균

kafka.producer.compression-rate

[DEFAULT], client-id, topic

주제에 대한 레코드 배치의 평균 압축률.

단위: 없음

유용한 통계: 평균

kafka.producer.record-error-rate

[DEFAULT], client-id, topic

주제에 대해 오류가 발생한 초당 평균 레코드를 전송하는 횟수.

단위: 없음

유용한 통계: 평균

kafka.producer.record-retry-rate

[DEFAULT], client-id, topic

주제에 대해 초당 평균 재시도된 레코드를 전송하는 횟수.

단위: 없음

유용한 통계: 평균

kafka.producer.record-send-rate

[DEFAULT], client-id, topic

주제에 대해 초당 전송된 평균 레코드 수.

단위: 없음

유용한 통계: 평균

Kafka 생산자 지표는 아래의 차원과 함께 수집됩니다.

차원 설명

[DEFAULT]

metrics 섹션의 append_dimensions 필드를 사용하는 경우를 제외하고, Amazon EC2에서는 기본적으로 호스트도 CloudWatch 에이전트가 수집하는 지표의 차원으로 게시됩니다. 자세한 내용은 수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집의 에이전트 섹션에서 omit_hostname 항목을 참조하세요.

Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표(k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name)의 차원으로 게시됩니다k8s.replicaset.name. 이는 aggregation_dimensions 필드를 사용하여 필터링할 수 있습니다.

client-id

클라이언트의 ID입니다.

topic

Kafka 주제.

Tomcat 지표 수집

CloudWatch 에이전트를 사용하여 Apache Tomcat 지표를 수집할 수 있습니다. 이를 설정하려면 CloudWatch 에이전트 구성 파일의 metrics_collected 섹션에 tomcat 섹션을 추가합니다.

다음 지표를 수집할 수 있습니다.

지표 Dimensions 설명

tomcat.sessions

[DEFAULT]

활성 세션 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

tomcat.errors

[DEFAULT], proto_handler

오류가 발생한 횟수.

단위: 없음

유용한 통계: 최소, 최대, 평균

tomcat.processing_time

[DEFAULT], proto_handler

총 처리 시간.

단위: 밀리초

유용한 통계: 최소, 최대, 평균

tomcat.traffic

[DEFAULT], proto_handler

수신 및 전송한 바이트 수.

단위: 바이트

유용한 통계: 최소, 최대, 평균

tomcat.threads

[DEFAULT], proto_handler

스레드 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

tomcat.max_time

[DEFAULT], proto_handler, direction

요청을 처리하는 데 걸리는 최대 시간.

단위: 밀리초

유용한 통계: 최대

tomcat.request_count

[DEFAULT], proto_handler

총 요청 수.

단위: 없음

유용한 통계: 최소, 최대, 평균

Tomcat 지표는 아래의 차원과 함께 수집됩니다.

차원 설명

[DEFAULT]

metrics 섹션의 append_dimensions 필드를 사용하는 경우를 제외하고, Amazon EC2에서는 기본적으로 호스트도 CloudWatch 에이전트가 수집하는 지표의 차원으로 게시됩니다. 자세한 내용은 수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집의 에이전트 섹션에서 omit_hostname 항목을 참조하세요.

Amazon EKS에서는 기본적으로 k8s 관련 컨텍스트도 지표(k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name)의 차원으로 게시됩니다k8s.replicaset.name. 이는 aggregation_dimensions 필드를 사용하여 필터링할 수 있습니다.

proto_handler

proto_handler는 커넥터의 식별자로, <protocol>-<type>-<port> 형식(예: http-nio-8080)으로 제공됩니다.

direction

트래픽 방향. 가능한 값은 receivedsent입니다.