• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

OpenTelemetry로 Kubernetes에서 IBM MQ 모니터링

IBM MQ 큐 관리자가 Kubernetes에서 파드로 실행될 때, 클러스터가 확장됨에 따라 이를 자동으로 검색하고 추적할 수 있는 모니터링 솔루션이 필요합니다. 이 가이드는 수동 설정 변경 없이 큐 관리자를 자동으로 찾고 해당 메트릭을 뉴렐릭으로 전송하는 수집기를 배포하는 방법을 보여줍니다.

뉴렐릭의 OpenTelemetry 배포판(NRDOT) 또는 OpenTelemetry Collector Contrib 중 하나를 사용할 수 있습니다 ― 두 가지 모두 동일한 설정 및 자동 검색 방식을 사용합니다. 수집기는 주석을 통해 큐 관리자 파드를 검색하고, 메트릭을 수집하며, 정리된 데이터를 뉴렐릭으로 전송하여 바로 사용할 수 있는 대시보드와 함께 IBMMQ_MANAGERIBMMQ_QUEUE 엔티티로 표시되도록 합니다. 새 큐 관리자를 추가하면 수집기가 자동으로 이를 찾습니다 ― 설정 업데이트가 필요하지 않습니다.

대신 큐 관리자가 기존 호스트에서 실행되는 경우 자체 호스팅 IBM MQ 모니터를 참조하십시오.

시작하기 전에

수집기를 설정하기 전에 다음 구성 요소가 필요합니다:

더 나은 처리량 메트릭을 위해 ALTER QMGR STATMQI(ON) STATQ(ON) 을(를) 사용하여 큐 관리자에서 MQI 통계를 활성화하는 것을 권장합니다.

IBM MQ 모니터링 설정

수집기를 배포하고 IBM MQ 메트릭을 뉴렐릭으로 전송하기 시작하려면 다음 단계를 따르십시오:

뉴렐릭 자격 증명 비밀을 생성합니다.

뉴렐릭 자격 증명을 안전하게 저장하기 위해 Kubernetes Secret을 생성합니다. 수집기는 런타임에 이러한 값을 읽어 민감한 정보가 설정 파일에 포함되지 않도록 합니다.

  1. ibmmq 네임스페이스가 존재하는지 확인합니다:

    bash
    $
    kubectl get namespace ibmmq >/dev/null 2>&1 || kubectl create namespace ibmmq
  2. 자격 증명 시크릿을 생성하고, <YOUR_LICENSE_KEY> 을(를) 실제 라이선스 키로 바꿉니다:

    bash
    $
    kubectl create secret generic newrelic-otlp-secret \
    >
    --namespace ibmmq \
    >
    --from-literal=NEW_RELIC_LICENSE_KEY="<YOUR_LICENSE_KEY>" \
    >
    --from-literal=NEW_RELIC_OTLP_ENDPOINT="https://otlp.nr-data.net:4318" \
    >
    --dry-run=client -o yaml | kubectl apply -f -

    EU 계정의 경우 엔드포인트 값으로 https://otlp.eu01.nr-data.net:4318 을(를) 사용합니다.

수집기 Helm 값 구성

수집기 설정이 포함된 로컬 values.yaml 파일을 생성합니다. 이 파일에는 OpenTelemetry Helm 차트를 통해 수집기를 배포하는 데 필요한 모든 설정이 포함되어 있습니다.

주의

초기 배포 후 TARGET_NAME 을(를) 변경하지 마십시오. 이 값은 모든 IBMMQ_MANAGERIBMMQ_QUEUE 엔티티 GUID의 첫 번째 세그먼트를 형성합니다. 이를 변경하면 새로운 엔티티가 생성되고 기존 엔티티가 고립되어 대시보드 및 알림이 손상됩니다.

이 설정의 역할

이 설정은 IBM MQ 큐 관리자 파드를 찾고 해당 메트릭을 뉴렐릭으로 전송하는 자동 검색 파이프라인을 생성합니다. 처리 파이프라인은 호스트 설정과 동일하지만, 정적 타겟 대신 파드 자동 검색을 사용합니다:

부분역할
prometheus/ibmmq 수신기필수 어노테이션이 있는 ibmmq 네임스페이스의 큐 관리자 파드를 자동으로 검색합니다. 각 파드의 메트릭 엔드포인트에 연결하고 60초마다 IBM MQ 데이터를 수집합니다.
filter/ibmmq-overheadIBM MQ 데이터를 포함하지 않는 익스포터의 내부 자체 메트릭(go_*process_* 등)을 제거하여 데이터 수집 비용을 최적화합니다.
filter/ibmmq-queues애플리케이션 큐만 뉴렐릭에서 엔티티가 되도록 내부 IBM MQ 시스템 큐(SYSTEM.*AMQ.*)를 제외합니다.
transform/ibmmq-cleanup메트릭을 뉴렐릭의 적절한 IBM MQ 엔티티에 매핑하는 핵심 구성 요소 입니다. 이것이 없으면 데이터는 대시보드 및 알림이 있는 IBMMQ_MANAGERIBMMQ_QUEUE 엔티티 대신 일반 수집기 메트릭으로 나타납니다.
memory_limiter/ibmmqKubernetes에 의해 수집기 파드가 종료되는 것을 방지하기 위해 메모리 사용량을 400MB(512Mi 컨테이너 제한 미만)로 제한합니다.
batch/ibmmq요청당 최대 1,000개의 데이터 포인트를 번들로 묶어 네트워크 오버헤드를 줄이기 위해 전송 전에 메트릭을 함께 그룹화합니다.
otlphttp/ibmmq 수출업자인증을 위한 라이선스 키와 설정된 리전 엔드포인트를 사용하여 처리된 메트릭을 뉴렐릭으로 내보냅니다.

중요한 Kubernetes 설정:

환경필요한 이유
replicaCount: 1kubernetes_sd 을(를) 사용하고 TargetAllocator가 없으면 모든 복제본이 모든 타겟을 스크랩하므로 둘 이상의 복제본이 메트릭을 이중으로 계산(및 이중 청구)합니다. HA의 경우 OpenTelemetry TargetAllocator를 사용하여 타겟을 샤딩합니다.
mode: deployment (daemonset 아님)DaemonSet은 모든 노드에서 kubernetes_sd 을(를) 실행하고 N-노드 클러스터의 모든 메트릭에 대해 N개의 복사본을 생성합니다.
clusterRole.create: truekubernetes_sd 파드에 get/list/watch 이(가) 필요합니다, 이것이 없으면 API는 403 Forbidden 을(를) 반환하고 수신기는 0개의 타겟을 발견합니다(수집기는 시작되지만 아무것도 내보내지 않음).
service.enabled: false이 수집기에는 인바운드 수신기가 없으므로, 그렇지 않으면 차트가 0 포트 서비스를 생성하려고 시도하여 설치 시 실패하게 됩니다. :8888 의 자체 텔레메트리는 여전히 kubectl port-forward을(를) 통해 도달할 수 있습니다.
replacement: $$1:$$2 (레이블 재지정 규칙 4)$$ 은(는) OTel 구성 로더의 ${...} 환경 변수 확장을 이스케이프하여 Prometheus 엔진이 리터럴 $1:$2 캡처 그룹 구문을 수신하도록 합니다. 단일 $1:$2 은(는) 빈 환경 변수로 소비되어 주소 구성을 손상시킵니다.
image.tag: "latest"테스트에 적합하며, 프로덕션 환경에서는 특정 버전을 사용하세요.

Helm으로 수집기 설치

OpenTelemetry Helm 저장소를 추가하고 이전 단계에서 만든 values.yaml 을(를) 사용하여 ibmmq 네임스페이스에 수집기를 설치합니다:

bash
$
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
$
helm repo update
$
$
helm upgrade --install ibmmq-collector open-telemetry/opentelemetry-collector \
>
--namespace ibmmq \
>
--create-namespace \
>
--values values.yaml

수집기 파드가 1/1 Running에 도달하지 못하는 경우, 아래의 문제 진단, 해결 을 참조하세요.

배포 확인

수집기 파드가 실행 중인지 확인합니다:

bash
$
kubectl -n ibmmq rollout status deploy/ibmmq-collector-opentelemetry-collector --timeout=180s
$
kubectl -n ibmmq get pods

수집기 파드에 1/1 Running이(가) 표시되어야 합니다. 실제로 파드를 검색하고 스크랩하는지 확인하려면 자체 텔레메트리 엔드포인트(인바운드 서비스가 비활성화되어 있으므로 :8888에 노출되고 port-forward 을(를) 통해서만 연결 가능)를 포트 포워딩하고 허용/내보낸 카운터를 확인합니다:

bash
$
kubectl -n ibmmq port-forward deploy/ibmmq-collector-opentelemetry-collector 8888:8888 &
$
curl -s http://localhost:8888/metrics | \
>
grep -E 'otelcol_(receiver_accepted|exporter_sent|exporter_send_failed)_metric_points'
$
kill %1 2>/dev/null

otelcol_receiver_accepted_metric_points 0보다 큰 값은 수집기가 주석이 달린 실행 중인 파드를 하나 이상 찾아 스크랩했음을 확인합니다, otelcol_exporter_send_failed_metric_points 은(는) 0 에 유지되어야 합니다(0이 아닌 값은 OTLP 연결 또는 자격 증명 문제를 나타냄).

그런 다음 데이터 찾기 및 쿼리의 확인 쿼리를 사용하여 뉴렐릭에서 IBM MQ 메트릭 및 엔티티를 확인합니다. 상태 값의 의미는 MQ 상태 코드 참조를 확인하세요.

New Relic에서 데이터 보기

수집기 파드가 실행되고 메트릭이 흐르기 시작하면 뉴렐릭에서 큐 관리자가 IBMMQ_MANAGER 엔티티로 표시되고 해당 큐가 하위 IBMMQ_QUEUE 엔티티로 표시됩니다. 데이터 찾기, 쿼리 실행, 대시보드 및 알림 설정에 대한 자세한 내용은 데이터 보기 및 쿼리를 참조하세요.

지표 참조

뉴렐릭에서 사용할 수 있는 IBM MQ OpenTelemetry 메트릭에 대해 알아보십시오.

데이터 보기 및 쿼리

뉴렐릭에서 IBM MQ 데이터를 보고 쿼리하는 방법을 알아보세요.

문제점 해결

뉴렐릭에서 IBM MQ 모니터링 문제를 해결하는 방법.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.