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

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

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

문제 신고

RabbitMQ 모니터링 통합

New Relic RabbitMQ 온-호스트 통합 은 클러스터, 가상 호스트, 대기열, 교환 및 소비자와 관련된 중요한 메트릭을 포함하여 RabbitMQ 서비스의 메트릭 및 구성 데이터를 보고합니다.

호환성 및 요구 사항

우리의 통합은 다음과 호환됩니다.

  • 메트릭 데이터용 RabbitMQ 버전 3.0 이상.
  • 인벤토리 데이터용 RabbitMQ 버전 3.7 이상.

통합을 설치하기 전에 다음 요구 사항을 충족하는지 확인하십시오.

설치 및 활성화

RabbitMQ 통합을 설치하려면 환경에 대한 지침을 따르세요.

추가 참고 사항:

  • 고급: 통합은 패키지 관리자 외부에서 설치할 수 있도록 tarball 형식 으로도 제공됩니다.
  • 호스트 내 통합은 자동으로 업데이트되지 않습니다. 최상의 결과를 얻으 려면 통합 패키지인프라 에이전트 를 정기적으로 업데이트하십시오.

중요

이 통합은 호스트당 하나의 RabbitMQ 서버 인스턴스만 모니터링할 수 있습니다.

이 문서가 설치하는데 도움이 되셨나요?

통합 구성

통합의 YAML 형식 구성은 필수 로그인 자격 증명을 배치하고 데이터 수집 방법을 구성할 수 있는 곳입니다. 변경하는 옵션은 설정 및 기본 설정에 따라 다릅니다.

설치 방법에 따라 통합을 구성하는 몇 가지 방법이 있습니다.

예제 구성은 예제 구성 파일 을 참조하십시오.

구성 파일에는 interval , timeout , inventory_source 와 같은 모든 통합에 적용할 수 있는 공통 설정이 있습니다. 이러한 공통 설정에 대한 모든 내용을 읽으려면 구성 형식 문서를 참조하십시오.

중요

여전히 레거시 구성/정의 파일을 사용하고 있다면 이 문서를 참조하십시오.

RabbitMQ와 관련된 특정 설정은 구성 파일의 env 섹션을 사용하여 정의됩니다. 이러한 설정은 RabbitMQ 인스턴스에 대한 연결과 기타 보안 설정 및 기능을 제어합니다. 유효한 설정 목록은 이 문서의 다음 섹션에 설명되어 있습니다.

클러스터 환경

클러스터 환경에서 통합은 하나의 노드에 연결된 하나의 통합 인스턴스만 있는 모든 클러스터에서 메트릭을 수집합니다. 이 인스턴스는 METRICS=trueINVENTORY=true사용해야 합니다. 나머지 노드의 경우 인벤토리만 METRICS=falseINVENTORY=true를 사용하여 수집해야 합니다. 이에 대한 자세한 내용은 인스턴스 설정을참조하십시오.

Kubernetes에서 클러스터 환경을 실행하는 경우에는 RabbitMQ를 StatefulSet 으로 배포하고 RabbitMQ 포드의 모든 메트릭을 쿼리하도록 에이전트를 구성해야 합니다. 구성 파일 의 자동 검색 일치 조건을 다음 값으로 설정합니다.

discovery:
command:
exec: /var/db/newrelic-infra/nri-discovery-kubernetes
match:
podName: rabbitmq-0

중요

통합에는 수집할 수 있는 대기열 수에 대한 제한이 있습니다. 대기열 수가 2000개를 초과하면 대기열 필터를 적용한 후 통합에서 대기열을 보고하지 않습니다. 모든 메트릭을 보존하는 해결 방법을 제공하지만 엔터티 등록을 비활성화합니다. 해결 방법을 적용하려면 구성 파일에 다음 환경 변수를 추가합니다.

integrations:
- name: nri-rabbitmq
env:
# Integration configuration parameters.
METRICS: true
DISABLE_ENTITIES: true
QUEUES_MAX_LIMIT: "0"

RabbitMQ 인스턴스 설정

RabbitMQ 통합은 Metrics( M ) 및 Inventory( I ) 정보를 모두 수집합니다. 아래의 적용 대상 열을 확인하여 각 특정 컬렉션에 사용할 수 있는 설정을 찾으십시오.

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

환경

설명

기본값

적용 대상

호스트 이름

RabbitMQ 관리 플러그인의 호스트 이름 또는 IP입니다.

로컬 호스트

포트

RabbitMQ 관리 플러그인의 포트 번호입니다.

15672

사용자 이름

RabbitMQ 관리 플러그인에 연결하는 사용자입니다.

해당 없음

비밀번호

RabbitMQ 관리 플러그인에 연결하기 위한 비밀번호입니다.

해당 없음

시간 초과

RabbitMQ 끝점에 대한 연결을 시간 초과하는 초 단위의 시간 초과입니다.

30

MANAGEMENT_PATH_PREFIX

RabbitMQ 관리 접두어.

해당 없음

USE_SSL

SSL을 사용하여 연결하는 옵션입니다.

잘못된

CA_BUNDLE_DIR

호스트에서 SSL 인증서의 위치입니다.

해당 없음

CA_BUNDLE_FILE

호스트에서 SSL 인증서의 위치입니다.

해당 없음

NODE_NAME_OVERRIDE

RabbitMQ에서 검색하는 대신 로컬 노드 이름을 재정의합니다.

해당 없음

CONFIG_PATH

RabbitMQ 구성 파일의 절대 경로입니다.

해당 없음

대기열

문자열의 JSON 배열 형식으로 수집할 대기열 이름입니다. 대기열 이름이 이들 중 하나와 정확히 일치하면(대소문자 구분) 수집됩니다.

예시:

queues: '["myQueue1","myQueue2"]'

해당 없음

QUEUES_REGEXES

REGEX 문자열의 JSON 배열 형식으로 수집할 대기열 이름입니다. 대기열 이름이 이들 중 하나와 일치하면 수집됩니다.

예시:

queues_regexes: '["queue[0-9]+",".*"]'

해당 없음

교환

문자열의 JSON 배열 형식으로 수집할 이름을 교환합니다. 교환 이름이 이 중 하나와 정확히 일치하면(대소문자 구분) 수집됩니다.

해당 없음

EXCHANGES_REGEXES

REGEX 문자열의 JSON 배열 형식으로 수집할 이름을 교환합니다. 교환 이름이 이들 중 하나와 일치하면 수집됩니다.

해당 없음

가상 호스트

문자열의 JSON 배열 형식으로 수집할 가상 호스트 이름입니다. 가상 호스트 이름이 이 중 하나와 정확히 일치하면(대소문자 구분) 포함됩니다. 이것은 또한 지정된 가상 호스트에 속하는 수집 개체에만 영향을 미칩니다.

해당 없음

VHOSTS_REGEXES

REGEX 문자열의 JSON 배열 형식으로 수집할 가상 호스트 이름입니다. 가상 호스트 이름이 이러한 가상 호스트 중 하나와 일치하면 이 가상 호스트에 속한 모든 엔터티가 수집됩니다.

해당 없음

측정항목

측정항목 전용 수집을 활성화하려면 true 으로 설정합니다.

잘못된

목록

인벤토리 전용 컬렉션을 활성화하려면 true 으로 설정합니다.

잘못된

이벤트

이벤트 전용 수집을 활성화하려면 true 으로 설정합니다.

잘못된

DISABLE_ENTITIES

메트릭 수집 중에 엔터티에 대해 인벤토리 항목이 생성되는지 여부를 구성합니다. 많은 양의 대기열을 수집하기 위한 해결 방법으로만 사용됩니다.

잘못된

QUEUES_MAX_LIMIT

처리할 수 있는 최대 대기열 양을 정의합니다. 이 수에 도달하면 모든 대기열이 삭제됩니다. '0'으로 정의된 경우 제한이 적용되지 않으며 에이전트의 메모리 증가를 방지하기 위해 DISABLE_ENTITIES=true와 함께 사용됩니다.

2000 년

이러한 설정의 값은 여러 가지 방법으로 정의할 수 있습니다.

  • 구성 파일에 직접 값을 추가합니다. 이것은 가장 일반적인 방법입니다.
  • {{}} 표기법을 사용하여 환경 변수의 값 바꾸기. 이를 위해서는 인프라 에이전트 v1.14.0 이상이 필요합니다. 여기에서 더 읽어보세요.
  • 비밀 관리 사용. 구성 파일에서 일반 텍스트로 노출될 비밀번호와 같은 민감한 정보를 보호하기 위해 이것을 사용합니다. 자세한 내용은 비밀 관리 를 참조하십시오.

라벨/맞춤 속성

환경 변수를 사용하여 다음과 같은 구성 설정을 제어할 수 있습니다. , 그런 다음 인프라 에이전트로 전달됩니다. 이 기능을 사용하는 방법에 대한 지시사항은 인프라 에이전트 구성을 참조하십시오. 레이블을 사용하여 메트릭을 추가로 꾸밀 수 있습니다. 레이블을 사용하면 메트릭에 키/값 쌍 특성을 추가한 다음 메트릭을 쿼리, 필터링 또는 그룹화하는 데 사용할 수 있습니다.
기본 샘플 구성 파일에는 레이블의 예가 포함되어 있지만 필수가 아니므로 선택한 새 레이블을 제거, 수정 또는 추가할 수 있습니다.

labels:
env: production
role: rabbitmq

구성 예

다음은 구성 파일의 예입니다.

호스트 내 통합 구성의 일반 구조에 대한 자세한 내용은 구성 을 참조하십시오.

데이터 찾기 및 사용

이 서비스의 데이터는 통합 대시보드 에 보고됩니다.

메트릭은 다음 이벤트 유형 에 연결됩니다.

문제 해결을 위해 이 데이터를 쿼리 하거나 사용자 지정 차트 및 대시보드를 만들 수 있습니다.

데이터를 찾고 사용하는 방법에 대한 자세한 내용은 통합 데이터 이해 를 참조하십시오.

측정항목 데이터

RabbitMQ 통합은 다음 메트릭 데이터 속성을 수집합니다. 각 메트릭 이름에는 범주 표시기와 마침표(예: 대기열)가 접두사로 붙습니다. 또는 노드..

RabbitMQ 가상 호스트 샘플 이벤트

다음 속성은 RabbitmqVhostSample 이벤트 유형에 연결됩니다.

이름

설명

vhost.connectionsBlocked

차단된 상태의 현재 연결 수입니다.

vhost.connectionsBlocking

차단 상태의 현재 연결 수입니다.

vhost.connectionsClosed

닫힌 상태의 현재 연결 수입니다.

vhost.connectionsClosing

닫는 상태의 현재 연결 수입니다.

vhost.connectionsFlow

상태 흐름의 현재 연결 수입니다.

vhost.connections열기

상태 개방의 현재 연결 수입니다.

vhost.connections실행 중

실행 중인 상태의 현재 연결 수입니다.

vhost.connections시작

시작 상태의 현재 연결 수입니다.

vhost.connectionsTotal

주어진 rabbitmq 가상 호스트에 대한 현재 연결 수입니다.

vhost.connections조정

상태 조정의 현재 연결 수입니다.

RabbitMQ 노드 샘플 이벤트

다음 속성은 RabbitmqNodeSample 이벤트 유형에 연결됩니다.

이름

설명

node.averageErlangProcessesWaiting

실행 대기 중인 Erlang 프로세스의 평균 수입니다. RabbitMQ에서 이는 run_queue 으로 표시됩니다.

node.diskAlarm

노드 디스크 알람(0 또는 1). 0은 알람이 트립되지 않았음을 나타내고 1은 알람이 트립되었음을 나타냅니다. RabbitMQ에서 이는 disk_free_alarm 으로 표시됩니다.

node.diskSpaceFreeInBytes

현재 사용 가능한 디스크 공간(바이트)입니다. RabbitMQ에서 이는 disk_free 으로 표시됩니다.

node.fileDescriptorsTotal

파일 설명자의 총 수입니다. RabbitMQ에서 이는 fd_total 으로 표시됩니다.

node.fileDescriptorsTotalUsed

사용된 파일 설명자의 총 수입니다. RabbitMQ에서 이는 fd_used 으로 표시됩니다.

node.fileDescriptorsUsedSockets

소켓으로 사용되는 파일 설명자의 수입니다. RabbitMQ에서 이는 sockets_used 으로 표시됩니다.

node.fileDescriptorsTotalSockets

소켓으로 사용할 수 있는 파일 설명자의 총 수입니다. RabbitMQ에서 이는 sockets_total 으로 표시됩니다.

node.hostMemoryAlarm

호스트 메모리 알람(0 또는 1). 0은 알람이 트립되지 않았음을 나타내고 1은 알람이 트립되었음을 나타냅니다. RabbitMQ에서 이는 mem_alarm 으로 표시됩니다.

node.totalMemoryUsedInBytes

사용된 메모리(바이트)입니다. RabbitMQ에서 이는 mem_used 으로 표시됩니다.

node.partitionsSeen

노드당 표시되는 네트워크 파티션 수입니다. RabbitMQ에서 이는 partitions 으로 표시됩니다.

node.processesTotal

Erlang 프로세스 제한. RabbitMQ에서 이는 proc_total 으로 표시됩니다.

node.processesUsed

Erlang 프로세스가 사용되었습니다. RabbitMQ에서 이는 proc_used 으로 표시됩니다.

node.running

노드 실행 중(0 또는 1). 0은 노드가 실행 중이 아님을 나타내고 1은 노드가 실행 중임을 나타냅니다. RabbitMQ에서 이는 running 으로 표시됩니다.

RabbitMQ 교환 샘플 이벤트

다음 속성은 RabbitmqExchangeSample 이벤트 유형에 연결됩니다.

이름

설명

exchange.bindings

특정 교환에 대한 바인딩 수입니다.

exchange.messagesPublishedPerChannel

채널에서 이 교환으로 게시된 메시지 수입니다. RabbitMQ에서 이는 message_stats.publish_in 으로 표시됩니다.

exchange.messagesPublishedPerChannelPerSecond

채널에서 이 교환으로 초당 게시된 메시지의 비율입니다. RabbitMQ에서 이는 message_stats.publish_in_details.rate 으로 표시됩니다.

exchange.messagesPublishedQueue

이 교환에서 대기열로 게시된 메시지 수입니다. RabbitMQ에서 이는 message_stats.publish_out 으로 표시됩니다.

exchange.messagesPublishedQueuePerSecond

초당 이 교환에서 대기열로 게시된 메시지의 비율입니다. RabbitMQ에서 이는 message_stats.publish_out_details.rate 으로 표시됩니다.

RabbitMQ 큐 샘플 이벤트

다음 속성은 RabbitmqQueueSample 이벤트 유형에 연결됩니다.

이름

설명

queue.bindings

특정 대기열에 대한 바인딩 수입니다.

queue.countActiveConsumersReceiveMessages

대기열로 전송된 모든 메시지를 즉시 수신할 수 있는 활성 소비자의 수입니다. RabbitMQ에서 이는 active_consumers 으로 표시됩니다.

queue.consumers

대기열당 소비자 수입니다. RabbitMQ에서 이것은 소비자로 간주됩니다.

queue.consumerMessageUtilizationPerSecond

대기열의 소비자가 새 메시지를 받을 수 있는 시간의 비율(초당 사용률)입니다. RabbitMQ에서 이는 consumer_utilisation 으로 표시됩니다.

이 측정항목은 RabbitMQ 버전 3.3 이상에서만 사용할 수 있습니다.

queue.erlangBytesConsumedInBytes

대기열과 연결된 Erlang 프로세스에서 사용한 바이트입니다. RabbitMQ에서 이는 memory 으로 표시됩니다.

queue.messagesReadyDeliveryClients

클라이언트에 전달할 준비가 된 메시지 수입니다. RabbitMQ에서 이는 message_stats.messages_ready 으로 표시됩니다.

queue.messagesReadyDeliveryClientsPerSecond

초당 클라이언트에 전달할 준비가 된 메시지의 비율입니다. RabbitMQ에서 이는 message_stats.messages_ready_details.rate 으로 표시됩니다.

queue.messagesReadyUnacknowledged

클라이언트에 전달되었지만 아직 승인되지 않은 대기열당 메시지 수입니다. RabbitMQ에서 이는 message_stats.deliver_no_ack 으로 표시됩니다.

queue.messagesReadyUnacknowledgedPerSecond

클라이언트에 전달되었지만 아직 승인되지 않은 대기열당 초당 메시지 비율입니다. RabbitMQ에서 이는 message_stats .deliver_no_ack_details.rate로 표시됩니다.

queue.messagesAcknowledged

클라이언트에 전달되고 대기열당 확인된 메시지 수입니다. RabbitMQ에서 이는 message_stats.ack 으로 표시됩니다.

queue.messagesAcknowledgedPerSecond

클라이언트에 전달되고 대기열당 초당 확인된 메시지의 비율입니다. RabbitMQ에서 이는 message_stats.ack_details.rate 으로 표시됩니다.

queue.messagesDeliveredAckMode

대기열당 소비자에게 승인 모드에서 전달된 메시지 수입니다. RabbitMQ에서 이는 message_stats.deliver 으로 표시됩니다.

queue.messagesDeliveredAckModePerSecond

초당 대기열당 소비자에게 승인 모드에서 전달된 메시지의 비율입니다. RabbitMQ에서 이는 message_stats .deliver_details.rate로 표시됩니다.

queue.messagesPublished

대기열당 게시된 메시지 수입니다. RabbitMQ에서 이는 message_stats.publish 으로 표시됩니다.

queue.messagesPublishedPerSecond

대기열당 초당 게시된 메시지 비율입니다. RabbitMQ에서 이는 message_stats.publish_details.rate 으로 표시됩니다.

queue.messagesRedeliverGet

대기열당 재전송 플래그가 설정된 확인 모드의 메시지 하위 집합 수입니다. RabbitMQ에서 이는 message_stats.redeliver 으로 표시됩니다.

queue.messagesRedeliverGetPerSecond

초당 대기열당 재전송 플래그가 설정된 확인 모드의 메시지 하위 집합 비율입니다. RabbitMQ에서 이는 message_stats.redeliver_details.rate 으로 표시됩니다.

queue.sumMessagesDelivered

승인 모드에서 소비자에게, 비승인 모드에서 소비자에게, basic.get에 대한 응답으로 승인 모드에서, basic.get에 대한 응답으로 비승인 모드에서 전달된 메시지의 합계입니다. 대기열당. RabbitMQ에서 이는 message_stats.deliver_get 으로 표시됩니다.

queue.sumMessagesDeliveredPerSecond

대기열당 수신확인 모드에서 소비자에게, 무확인 모드에서 소비자에게, 확인 모드에서 basic.get에 대한 응답으로, 무확인 모드에서 기본.get에 대한 응답으로 배달된 메시지 합계의 초당 비율입니다. RabbitMQ에서 이는 message_stats.deliver_get_details.rate 으로 표시됩니다.

queue.totalMessages

큐에 있는 총 메시지 수입니다. RabbitMQ에서 이는 messages 으로 표시됩니다.

queue.totalMessagesPerSecond

대기열의 총 메시지 비율입니다. RabbitMQ에서 이는 messages_details.rate 으로 표시됩니다.

시스템 메타데이터

기타 메타데이터에는 다음이 포함됩니다.

이름

설명

version.rabbitmq

RabbitMQ 서버의 버전입니다. 예: 3.6.7.

version.management

RabbitMQ 관리 플러그인의 버전입니다. 예: 3.6.7.

인벤토리 데이터

통합은 /etc/rabbitmq/rabbitmq.conf 파일에서 RabbitMQ의 구성 매개변수를 캡처합니다. 인벤토리 데이터는 RabbitMQ 버전 3.7 이상에서만 캡처됩니다. 인벤토리 데이터는 config/rabbitmq 소스 아래 인프라 UI의 Inventory [인벤토리] 페이지 에 표시됩니다.

주의

rabbit.conf 파일에 넣은 모든 민감한 정보는 인프라 UI의 Inventory [인벤토리] 페이지에 나타납니다. 여기에는 다음과 같은 AWS의 항목이 포함됩니다.

cluster_formation.aws.secret_key,
cluster_formation.aws.access_key_id

문제점 해결

문제 해결 팁:

소스 코드 확인

이 통합은 오픈 소스 소프트웨어입니다. 즉 , 소스 코드를 탐색하고 개선 사항을 보내거나 자신만의 포크를 만들어 빌드할 수 있습니다.

Copyright © 2024 New Relic Inc.

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