7.2. Prometheus를 사용하여 브로커 런타임 지표 모니터링


다음 섹션에서는 OpenShift Container Platform에서 AMQ Broker에 대한 Prometheus 메트릭 플러그인을 구성하는 방법을 설명합니다. 플러그인을 사용하여 브로커 런타임 메트릭을 모니터링하고 저장할 수 있습니다. Grafana와 같은 그래픽 툴을 사용하여 Prometheus 플러그인이 수집하는 데이터의 고급 시각화 및 대시보드를 구성할 수도 있습니다.

참고

Prometheus 지표 플러그인을 사용하면 Prometheus 형식으로 브로커 지표를 수집하고 내보낼 수 있습니다. 그러나 Red Hat 은 Prometheus 자체의 설치 또는 구성이나 Grafana와 같은 시각화 툴을 지원하지 않습니다. Prometheus 또는 Grafana의 설치, 구성 또는 실행에 대한 지원이 필요한 경우 커뮤니티 지원 및 문서와 같은 리소스의 제품 웹 사이트를 방문하십시오.

7.2.1. 메트릭 개요

브로커 인스턴스의 상태 및 성능을 모니터링하려면 AMQ Broker의 Prometheus 플러그인을 사용하여 브로커 런타임 지표를 모니터링하고 저장할 수 있습니다. AMQ Broker Prometheus 플러그인은 브로커 런타임 지표를 Prometheus 형식으로 내보내 Prometheus 자체를 사용하여 데이터에 대한 쿼리를 시각화하고 실행할 수 있습니다.

Grafana와 같은 그래픽 툴을 사용하여 Prometheus 플러그인이 수집하는 지표에 대한 고급 시각화 및 대시보드를 구성할 수도 있습니다.

플러그인에서 Prometheus 형식으로 내보내는 메트릭은 다음과 같습니다.

브로커 메트릭

artemis_address_memory_usage
메모리 내 메시지에 이 브로커의 모든 주소에서 사용하는 바이트 수입니다.
artemis_address_memory_usage_percentage
이 브로커의 모든 주소에서 global-max-size 매개변수의 백분율로 사용하는 메모리입니다.
artemis_connection_count
이 브로커에 연결된 클라이언트 수입니다.
artemis_total_connection_count
시작된 이후 이 브로커에 연결된 클라이언트 수입니다.

주소 지표

artemis_routed_message_count
하나 이상의 큐 바인딩으로 라우팅되는 메시지 수입니다.
artemis_unrouted_message_count
큐 바인딩으로 라우팅 되지 않은 메시지 수입니다.

대기열 메트릭

artemis_consumer_count
지정된 대기열의 메시지를 사용하는 클라이언트 수입니다.
artemis_delivering_durable_message_count
지정된 큐가 현재 소비자에 전달 중인 메시지의 수입니다.
artemis_delivering_durable_persistent_size
지정된 큐가 현재 소비자에 전달 중인 영속적인 메시지 크기입니다.
artemis_delivering_message_count
지정된 대기열에서 현재 소비자에게 전달하는 메시지 수입니다.
artemis_delivering_persistent_size
지정된 대기열에서 현재 소비자에게 전달 중인 메시지의 영구 크기입니다.
artemis_durable_message_count
현재 지정된 큐에 있는 Cryostat 메시지 수입니다. 여기에는 예약, 페이지링 및 전송 중 메시지가 포함됩니다.
artemis_durable_persistent_size
현재 지정된 큐에 있는 Cryostat 메시지의 영구 크기입니다. 여기에는 예약, 페이지링 및 전송 중 메시지가 포함됩니다.
artemis_messages_acknowledged
큐가 생성된 이후 지정된 큐에서 확인된 메시지 수입니다.
artemis_messages_added
큐가 생성된 이후 지정된 큐에 추가된 메시지 수입니다.
artemis_message_count
현재 지정된 큐에 있는 메시지 수입니다. 여기에는 예약, 페이지링 및 전송 중 메시지가 포함됩니다.
artemis_messages_killed
큐가 생성된 이후 지정된 큐에서 제거된 메시지 수입니다. 메시지가 구성된 최대 전송 시도 수를 초과하면 브로커가 메시지를 종료합니다.
artemis_messages_expired
큐가 생성된 이후 지정된 큐에서 만료된 메시지 수입니다.
artemis_persistent_size
현재 지정된 큐에 있는 모든 메시지(비효율 및 실행 불가능한)의 영구 크기입니다. 여기에는 예약, 페이지링 및 전송 중 메시지가 포함됩니다.
artemis_scheduled_durable_message_count
지정된 큐의 예약된 메시지 수입니다.
artemis_scheduled_durable_persistent_size
지정된 큐의 영구 크기, 예약된 메시지입니다.
artemis_scheduled_message_count
지정된 큐의 예약된 메시지 수입니다.
artemis_scheduled_persistent_size
지정된 큐에 있는 예약된 메시지의 영구 크기입니다.

위에 나열되지 않은 상위 수준 브로커 메트릭의 경우 하위 수준 메트릭을 집계하여 이를 계산할 수 있습니다. 예를 들어 총 메시지 수를 계산하려면 브로커 배포의 모든 큐의 artemis_message_count 메트릭을 집계할 수 있습니다.

AMQ Broker를 온프레미스 배포하는 경우 브로커를 호스팅하는 JVM(Java Virtual Machine)에 대한 지표도 Prometheus 형식으로 내보냅니다. 이는 OpenShift Container Platform에서 AMQ Broker 배포에 적용되지 않습니다.

7.2.2. CR을 사용하여 Prometheus 플러그인 활성화

AMQ Broker를 설치하면 Prometheus 지표 플러그인이 설치에 포함됩니다. 활성화하면 플러그인은 브로커의 런타임 지표를 수집하고 Prometheus 형식으로 내보냅니다.

다음 절차에서는 CR을 사용하여 AMQ Broker에 대한 Prometheus 플러그인을 활성화하는 방법을 보여줍니다. 이 절차에서는 AMQ Broker 7.9 이상의 신규 및 기존 배포를 지원합니다.

실행 중인 브로커의 대체 절차는 7.2.3절. “환경 변수를 사용하여 실행 중인 브로커 배포에 대한 Prometheus 플러그인 활성화” 를 참조하십시오.

프로세스

  1. 브로커 배포에 사용하는 CR 인스턴스를 엽니다. 예를 들어 기본 배포의 CR은 다음과 유사할 수 있습니다.

    apiVersion: broker.amq.io/v1beta1
    kind: ActiveMQArtemis
    metadata:
      name: ex-aao
    spec:
      deploymentPlan:
        size: 4
        image: registry.redhat.io/amq7/amq-broker-rhel8:7.12
      ...
    Copy to Clipboard Toggle word wrap
  2. deploymentPlan 섹션에서 enableMetricsPlugin 속성을 추가하고 아래 표시된 대로 값을 true 로 설정합니다.

    apiVersion: broker.amq.io/v1beta1
    kind: ActiveMQArtemis
    metadata:
      name: ex-aao
    spec:
      deploymentPlan:
        size: 4
        image: registry.redhat.io/amq7/amq-broker-rhel8:7.12
        ...
        enableMetricsPlugin: true
    Copy to Clipboard Toggle word wrap
    enableMetricsPlugin
    배포의 브로커에 Prometheus 플러그인이 활성화되어 있는지 여부를 지정합니다.
  3. CR 인스턴스를 저장합니다.
  4. 이전에 브로커 배포를 생성한 프로젝트로 전환합니다.

    $ oc project <project_name>
    Copy to Clipboard Toggle word wrap
  5. 명령줄에서 변경 사항을 적용합니다.

    $ oc apply -f <path/to/custom_resource_instance>.yaml
    Copy to Clipboard Toggle word wrap

    지표 플러그인은 Prometheus 형식으로 브로커 런타임 지표를 수집하기 시작합니다.

추가 리소스

다음 절차에서는 환경 변수를 사용하여 AMQ Broker에 대한 Prometheus 플러그인을 활성화하는 방법을 보여줍니다. 대체 절차는 7.2.2절. “CR을 사용하여 Prometheus 플러그인 활성화” 를 참조하십시오.

사전 요구 사항

  • AMQ Broker Operator를 사용하여 생성된 브로커 Pod에 대한 Prometheus 플러그인을 활성화할 수 있습니다. 그러나 배포된 브로커는 AMQ Broker 7.7 이상에 브로커 컨테이너 이미지를 사용해야 합니다.

프로세스

  1. 브로커 배포가 포함된 프로젝트에 대한 관리자 권한으로 OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. 웹 콘솔에서 프로젝트를 클릭합니다. 브로커 배포가 포함된 프로젝트를 선택합니다.
  3. 프로젝트에서 StatefulSets 또는 DeploymentConfigs를 보려면 Workloads StatefulSets 를 클릭합니다.
  4. 브로커 배포에 해당하는 StatefulSet 또는 DeploymentConfig를 클릭합니다.
  5. 브로커 배포의 환경 변수에 액세스하려면 환경 탭을 클릭합니다.
  6. 새 환경 변수 AMQ_ENABLE_METRICS_PLUGIN 을 추가합니다. 변수 값을 true 로 설정합니다.

    AMQ_ENABLE_METRICS_PLUGIN 환경 변수를 설정하면 OpenShift가 StatefulSet 또는 DeploymentConfig에서 각 브로커 Pod를 다시 시작합니다. 배포에 Pod가 여러 개 있는 경우 OpenShift는 각 포드를 차례로 다시 시작합니다. 각 브로커 Pod가 다시 시작되면 해당 브로커의 Prometheus 플러그인이 브로커 런타임 메트릭을 수집하기 시작합니다.

7.2.4. 실행중인 브로커 Pod에 대한 Prometheus 지표에 액세스

다음 절차에서는 실행 중인 브로커 Pod에 대한 Prometheus 메트릭에 액세스하는 방법을 보여줍니다.

사전 요구 사항

프로세스

  1. 메트릭이 액세스하려는 브로커 Pod의 경우 Pod를 AMQ 브로커 관리 콘솔에 연결하기 위해 이전에 생성한 경로를 식별해야 합니다. 경로 이름은 메트릭에 액세스하는 데 필요한 URL의 일부를 형성합니다.

    1. 네트워킹 경로를 클릭합니다.
    2. 선택한 브로커 Pod의 경우 Pod를 AMQ Broker 관리 콘솔에 연결하기 위해 생성된 경로를 확인합니다. Hostname 에서 표시된 전체 URL을 기록해 둡니다. 예를 들면 다음과 같습니다.

      http://rte-console-access-pod1.openshiftdomain
      Copy to Clipboard Toggle word wrap
  2. Prometheus 지표에 액세스하려면 웹 브라우저에서 "/metrics" 가 추가된 이전에 명시된 경로 이름을 입력합니다. 예를 들면 다음과 같습니다.

    http://rte-console-access-pod1.openshiftdomain/metrics
    Copy to Clipboard Toggle word wrap
참고

콘솔 구성에서 SSL을 사용하지 않는 경우 URL에 http 를 지정합니다. 이 경우 호스트 이름의 DNS 확인은 트래픽을 OpenShift 라우터의 포트 80으로 보냅니다. 콘솔 구성에서 SSL을 사용하는 경우 URL에 https 를 지정합니다. 이 경우 브라우저가 기본적으로 OpenShift 라우터의 포트 443으로 설정됩니다. 이렇게 하면 OpenShift 라우터에서 기본적으로 라우터가 수행하는 SSL 트래픽에 포트 443도 사용하는 경우 콘솔에 성공적으로 연결할 수 있습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동