Spring Boot 2.2.x の Web アプリを 2.3.x へバージョンアップする ( その13 )( Docker コンテナの image をバージョンアップする、Grafana の RabbitMQ 用の Dashboard を RabbitMQ Monitoring → RabbitMQ-Overview に切り替える )
概要
記事一覧はこちらです。
- 今回の手順で確認できるのは以下の内容です。
- Grafana の RabbitMQ 用の Dashboard を RabbitMQ Monitoring → RabbitMQ-Overview に切り替えます。
- RabbitMQ 3.8 から support された Monitoring with Prometheus & Grafana の機能を利用して metrics を収集する方式に変更します。rabbitmq_exporter を削除します。
参照したサイト・書籍
- Monitoring with Prometheus & Grafana
https://www.rabbitmq.com/prometheus.html
目次
- rabbitmq_prometheus plugin が有効になっていることを確認する
rabbitmq-diagnostics -q cluster_status
コマンドで Cluster Name を確認する- docker/prometheus/prometheus.yml を変更する
- docker-compose.yml を変更する
docker-compose up -d
コマンドを実行する- RabbitMQ Monitoring → RabbitMQ-Overview に切り替える
- kbudde/rabbitmq-exporter の docker image を削除する
手順
rabbitmq_prometheus plugin が有効になっていることを確認する
RabbitMQ は起動時のログに有効になっている plugin 一覧を出力してくれるので、docker-compose up -d
コマンドで起動して確認してみます。
確かに rabbitmq_prometheus が出力されていました。4つ出力されているのは前から気づいていたのですが、prometheus の文字が入った plugin があることに全く気づいていなかったですね。。。
rabbitmq-diagnostics -q cluster_status
コマンドで Cluster Name を確認する
https://www.rabbitmq.com/prometheus.html#installation を見ると rabbitmq-diagnostics -q cluster_status
コマンドで Cluster Name を確認できるようなので確認してみます。
docker exec -it rabbitmq1 /bin/sh
コマンドで rabbitmq1 コンテナに接続してから rabbitmq-diagnostics -q cluster_status
コマンドを実行すると Cluster Name は rabbit@rabbitmq1
でした。これは変更せずにこのまま進めます。
docker/prometheus/prometheus.yml を変更する
Prometheus の RabbitMQ の metrics 取得先を rabbitmq_exporter コンテナから rabbitmq1~3 コンテナに変更します。
https://www.rabbitmq.com/prometheus.html#installation に Notice that RabbitMQ exposes the metrics on a dedicated TCP port, 15692 by default.
と記述されていますので、docker/prometheus/prometheus.yml を以下のように変更します。
.......... - job_name: 'rabbitmq' static_configs: - targets: - rabbitmq1:15692 - rabbitmq2:15692 - rabbitmq3:15692 ..........
job_name: 'rabbitmq_exporter'
→job_name: 'rabbitmq'
に変更します。- targets は
['rabbitmq_exporter:9419']
の記述を削除し、以下の3行を追加します。rabbitmq1:15692
rabbitmq2:15692
rabbitmq3:15692
docker-compose.yml を変更する
rabbitmq_exporter コンテナの記述を削除します。
docker-compose up -d
コマンドを実行する
docker-compose up -d
コマンドを実行してコンテナを起動します。
RabbitMQ Monitoring → RabbitMQ-Overview に切り替える
「Import」画面で「Import via grafana.com」に 10991
を入力して import します。
RabbitMQ-Overview の画面が表示されます。
rabbitmq3 コンテナを停止すると Nodes の数が 3 → 2 に変わり、NODES の一覧から rabbitmq3 が消えました。
「Dashboards」-「Manage」の画面で「RabbitMQ Monitoring」を削除します。
kbudde/rabbitmq-exporter の docker image を削除する
以下の docker image を削除します。
- kbudde/rabbitmq-exporter:latest
履歴
2020/12/20
初版発行。