かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

Spring Boot 2.2.x の Web アプリを 2.3.x へバージョンアップする ( その13 )( Docker コンテナの image をバージョンアップする、Grafana の RabbitMQ 用の Dashboard を RabbitMQ Monitoring → RabbitMQ-Overview に切り替える )

概要

記事一覧はこちらです。

Spring Boot 2.2.x の Web アプリを 2.3.x へバージョンアップする ( その12 )( Docker コンテナの image をバージョンアップする、prometheus・grafana 編 ) の続きです。

  • 今回の手順で確認できるのは以下の内容です。
    • Grafana の RabbitMQ 用の Dashboard を RabbitMQ Monitoring → RabbitMQ-Overview に切り替えます。
    • RabbitMQ 3.8 から support された Monitoring with Prometheus & Grafana の機能を利用して metrics を収集する方式に変更します。rabbitmq_exporter を削除します。

参照したサイト・書籍

  1. Monitoring with Prometheus & Grafana
    https://www.rabbitmq.com/prometheus.html

目次

  1. rabbitmq_prometheus plugin が有効になっていることを確認する
  2. rabbitmq-diagnostics -q cluster_status コマンドで Cluster Name を確認する
  3. docker/prometheus/prometheus.yml を変更する
  4. docker-compose.yml を変更する
  5. docker-compose up -d コマンドを実行する
  6. RabbitMQ Monitoring → RabbitMQ-Overview に切り替える
  7. kbudde/rabbitmq-exporter の docker image を削除する

手順

rabbitmq_prometheus plugin が有効になっていることを確認する

RabbitMQ は起動時のログに有効になっている plugin 一覧を出力してくれるので、docker-compose up -d コマンドで起動して確認してみます。

f:id:ksby:20201220092054p:plain

確かに 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 でした。これは変更せずにこのまま進めます。

f:id:ksby:20201220092921p:plain

docker/prometheus/prometheus.yml を変更する

Prometheus の RabbitMQ の metrics 取得先を rabbitmq_exporter コンテナから rabbitmq1~3 コンテナに変更します。

https://www.rabbitmq.com/prometheus.html#installationNotice 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 します。

f:id:ksby:20201220102527p:plain f:id:ksby:20201220102620p:plain

RabbitMQ-Overview の画面が表示されます。

f:id:ksby:20201220103417p:plain f:id:ksby:20201220103515p:plain f:id:ksby:20201220103623p:plain f:id:ksby:20201220103723p:plain f:id:ksby:20201220103819p:plain

rabbitmq3 コンテナを停止すると Nodes の数が 3 → 2 に変わり、NODES の一覧から rabbitmq3 が消えました。

f:id:ksby:20201220104414p:plain f:id:ksby:20201220104608p:plain

「Dashboards」-「Manage」の画面で「RabbitMQ Monitoring」を削除します。

kbudde/rabbitmq-exporter の docker image を削除する

以下の docker image を削除します。

  • kbudde/rabbitmq-exporter:latest

履歴

2020/12/20
初版発行。