[인프라] RabbitMQ Prometheus 개별 Queue Metric 수집 방법
- 인프라/그라파나 & 프로메테우스
- 2022. 10. 13. 20:21
개요
- RabbitMQ 에서 개별 Queue 정보를 Prometheus Metric 으로 수집 가능 한지 조사 진행합니다.
참고
RabbitMQ Per-Object
- RabbitMQ 공식 홈페이지에서 확인 결과, Per-Object 를 이용하여 개별 Metric 정보를 제공받을 수 있다고 합니다.
- Per-Obejct Metric 정보를 제공받으려면,
prometheus.return_per_object_metrics = true
로 옵션을 설정해 주어야 합니다.
Per-Object 옵션 설정하기
- 현재 RabbitMQ 를 Docker Container 로 실행중입니다.
- Per-Object 옵션을 설정하려면, RabbitMQ 컨테이너 Bash 로 접근해야 합니다.
- Bash 접근하는 명령어는 다음과 같습니다.
> docker exec -it rabbitmq bash
docker exec -it rabbitmq bash
명령어를 통해, RabbitMQ 컨테이너 내부로 접근할 수 있습니다.- rabbitmq 컨테이너 내부에 접근 완료 하였다면,
rabbitmqctl eval 'application:set_env(rabbitmq_prometheus, return_per_object_metrics, true).'
명령어를 Command 에 직접 입력하여 명령어를 실행해 줍니다. - 위 명령어를 실행해야
prometheus.return_per_object_metrics = true
옵션이 true 로 설정됩니다.
Prometheus 에서 Per-Object 수집 확인
- 앞서, RabbitMQ 컨테이너에 직접 접속 하여
prometheus.return_per_object_metrics = true
옵션을 설정 완료 하였습니다. - 그럼 실제로 Prometheus 에서 Per-Object Metric을 수집하는지 확인 진행합니다.
IP:9090
으로 접속하고,rabbitmq_queue_messages_unacked
메시지를 입력하여 개별 Queue 정보가 표시 되는지 확인합니다.- 확인 결과, 개별 Queue 정보가 수집 되는 것을 확인할 수 있습니다.
주의 사항
- Per-Object 옵션을 true 로 설정하게 되면, 기존의 수집하던 Metric 정보 보다 더 많은 양의 Metric 정보를 수집하기 떄문에 CPU, Memory 에 부하가 발생할 수 있는 문제가 있습니다.
728x90
'인프라 > 그라파나 & 프로메테우스' 카테고리의 다른 글
[Grafana] Slack Alert 메시지 커스텀 하는 방법 (0) | 2022.12.15 |
---|---|
[Grafana] Alert Slack 연동하기 (1) | 2022.12.14 |
[인프라] Grafana Login 페이지 Disable 방법 (0) | 2022.09.29 |
[인프라] Grafana Multiple Y Axis 사용방법 (0) | 2022.09.18 |
[인프라] Loki Grafana Log수집 연동 (0) | 2022.08.20 |
이 글을 공유하기