지난 포스팅에서 Redis Exporter를 이용하여 Redis Metrics를 수집하도록 작업하였습니다.
이번 포스팅에는 RabbitMQ Metrics를 수집하는 방법을 작성하고자 합니다.
지난 Redis에서는 별도의 Node Exporter를 설치하여 Metrics 지표를 수집하였습니다.
하지만 이번 RabbitMQ에서는 플러그인으로 설치가 가능하므로 별도의 Node Exporter 설치 하지 않아도 됩니다.
단, RabbitMQ 3.8.0 버전 이상에서만 해당 되므로, 3.8.0 미만인 경우 별도의 Node exporter를 설치해야 모니터링을 할수 있습니다.
만약 3.8.0 버전 미만인 경우에는 아래 링크를 참조하여 설치를 진행하시면 됩니다.
RabbitMQ 버전 확인은 아래의 명령어를 통하여 확인이 가능합니다.
rabbitmqctl version
위의 명령어을 통해 RabbitMQ 버전이 3.8.0 버전보다 높은 것을 확인하였으므로 rabbitmq_prometheus 설치합니다.
rabbitmq-plugins enable rabbitmq_prometheus
플러그인 설치가 되었다면 아래 명령어를 입력하였을때 ‘rabbitmq_prometheus’에 E* 라고 표시되면 설치가 완료된 것입니다.
rabbitmq-plugins list
또한 ‘rabbitmq_prometheus’ 의 기본 포트는 15692 이므로 해당 포트 LISTEN 인지 확인이 필요합니다.
netstat -tnlp
RabbitMQ Prometheus 플러그인 설치 하였다면 , Prometheus에서 데이터를 수집하도록 설정해야 합니다.
우선 /etc/prometheus/prometheus.yml 경로에 RabbitMQ 설정을 추가 합니다.
scrape_configs:
- job_name: 'rabbitmq'
static_configs:
- targets: ['${rabbitmq_server_ip}:15692']
설정이 완료되었다면 Prometheus를 재기동 합니다.
systemctl restart prometheus
systemctl status prometheus
Prometheus를 재기동 하였다면 브라우저로 접근하여 연결 되었는지 확인이 필요합니다.
RabbitMQ Prometheus Plugin, Prometheus 연동 작업이 끝났습니다.
이제 마지막으로 Grafana를 연동하여 대시보드에 데이터를 시각화해 보겠습니다
Prometheus를 Grafana에 연동하는 작업은 지난 Redis 연결 하는 과정에서 작업이 완료되었으므로 Grafana 연결하는 작업으로 바로 진행하면 합니다.
Grafana 여러개의 RabbitMQ 대시보드가 업로드 되어 있습니다.
자신에 맞는 RabbitMQ 대시보드를 찾아서 적용하시면 됩니다.
Dashboard ID Copy 버튼 클릭
- 해당 버튼을 클릭 하면 테마 번호가 복사가 됩니다.
왼쪽 매뉴에서 create > import 클릭
Import via에 복사한 dashboard ID 붙여놓고 Load 버튼을 클릭
Dashboard name, prom 선택후 import 추가
위 순서대로 진행하면 아래와 같은 대시보드가 생성이 됩니다.
다만 Redis 대시보드 연결에서 발생했던 문제 처럼 Grafana, Prometheus 버전 이슈로 인하여 아래 화면 같이 에러가 발생하는 케이스가 있습니다.
대시보드 구성 당시 가장 마지막으로 릴리즈된 버전은 14이며, 해당 대시보드에서 요구하는 최신 버전은 다음과 같습니다.
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "8.3.4"
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
},
...
]
위의 순서대로 진행하면 아래 화면과 같이 대시보드가 생성된것을 확인할수 있습니다.
위 과정을 따라 RabbitMQ Metrics를 수집하였습니다.
다음은 MariaDB Metrics 수집하도록 하겠습니다.