Skip to main content
RabbitMQブローカーを接続することで、Tony(Database Engineer)がキューの深度を監視し、コンシューマーラグを分析し、デッドレターキューを検査し、クラスターとノードの健全性を追跡できるようになります。 RabbitMQはManagement HTTP API(デフォルトポート 15672)でユーザー名とパスワードを使って認証します。これはRabbitMQ管理UIが使用するものと同じAPIのため、AMQPクライアントのセットアップは不要です。

対応プラットフォーム


前提条件

  • CloudThinkerから管理ポート(デフォルト 15672、HTTPSは 15671)で到達可能な RabbitMQブローカー
  • managementプラグインの有効化。セルフホストブローカーの場合:
  • monitoring または administrator タグを持つブローカーユーザー(Management HTTP APIがキュー、ノード、クラスターデータを返すために必要)。
monitoring タグは、すべての読み取りとヘルスチェック機能に十分です。書き込み操作(キューのパージ/削除、エクスチェンジの削除、定義の更新)をエージェントに実行させたい場合のみ administrator を付与してください。これらは常にアプリ内での承認が必要です。必要な権限を参照してください。

セットアップ

1

managementプラグインを有効化

セルフホストブローカーでmanagementプラグインを有効にし、リスニング中であることを確認します:
CloudAMQPなどのマネージドプロバイダーはManagement HTTP APIをデフォルトで公開しています。次のステップへ進んでください。
2

監視ユーザーを作成

CloudThinker用の専用ユーザーを作成し、monitoring タグを付与します:
monitoring タグにより、すべての仮想ホストのキュー、エクスチェンジ、ノード、クラスターヘルスへの読み取りアクセスが付与されます。
3

ネットワークアクセスを確認

CloudThinkerがブローカーの <host>:15672(TLSの場合は <host>:15671)に到達できることを確認します。CloudThinkerのエグレスに対してファイアウォールまたはセキュリティグループで管理ポートを開放してください。
4

CloudThinkerで接続を追加

Connections → RabbitMQ に移動し、次の情報を入力します:
  • Username: ブローカーユーザー(例: cloudthinker
  • Password: ユーザーのパスワード
  • Host: ブローカーのホスト名またはIP(ホスト名のみ — スキームやポートは含めない)
  • Management Port: 管理APIポート(デフォルト 15672
  • Use TLS: HTTPS管理APIとAMQPSの場合は有効にする
  • Log Level: コネクターのログ詳細度(デフォルトは info
Connect をクリックします。CloudThinkerがManagement HTTP APIに対して認証情報を検証し、Connected ステータスを表示します。
Host にはホスト名のみを設定してください。http://https://、またはポートは含めないでください。HTTP/HTTPSの切り替えには Use TLS トグルを、ポートには Management Port を使用してください。

接続の詳細

管理APIはHTTPでは 15672、HTTPSでは 15671 でリスニングします。Use TLS を有効にする場合、Management Port をTLS用の管理ポートに設定してください。

必要な権限

接続ユーザーには、HTTP APIがブローカーデータを返すための管理タグが必要です:
最小権限の原則に従ってください: キューの監視、コンシューマーラグ、DLQ、クラスターヘルスの調査には monitoring タグで十分です。下記の書き込み操作を実行する場合にのみ administrator を使用してください。

書き込み操作には承認が必要

この接続には4つの変更ツールが有効になっています。これらは常にアプリ内承認で制限されており、エージェントは実行前にユーザーの確認を求める必要があります:
  • delete_queue — キューを削除
  • purge_queue — キュー内のすべてのメッセージを削除
  • delete_exchange — エクスチェンジを削除
  • update_definition — ブローカーの定義を変更
その他すべての機能は読み取り専用です。破壊的な操作には、ブローカーユーザーが対象の仮想ホストに対して書き込み権限を持つ administrator タグも必要です。

エージェント機能

接続後、Tony は次のことができます:

接続を確認

プロンプト例


トラブルシューティング

  • <host>:15672(またはTLS管理ポート)でCloudThinkerからブローカーに到達できることを確認してください。
  • AMQPポート 5672 ではなく、管理ポートがファイアウォールまたはセキュリティグループで開放されていることを確認してください。
  • セルフホストブローカーの場合、RabbitMQが 127.0.0.1 だけでなく、アクセス可能なインターフェースにバインドされていることを確認してください。
managementプラグインが有効になっていません。rabbitmq-plugins enable rabbitmq_management を実行して再試行してください。マネージドプロバイダーの場合、インスタンスでManagement HTTP APIが公開されていることを確認してください。
  • ユーザー名とパスワードを確認してください。
  • ユーザーが monitoring または administrator タグを持っていることを確認してください: rabbitmqctl set_user_tags <user> monitoring
  • 管理タグのないユーザーはAMQPへの認証はできますが、Management HTTP APIには拒否されます。
  • Use TLS がブローカーの設定と一致していることを確認してください。管理APIがHTTPSを提供している場合(通常ポート 15671)のみ有効にしてください。
  • Use TLS が有効でもポートがプレーンHTTPを提供している場合(またはその逆)、接続は失敗します。トグルと Management Port を合わせてください。
  • monitoring ユーザーが一部の仮想ホストに対して権限を持っていない可能性があります。表示させたいvhostに対して読み取り権限を付与してください: rabbitmqctl set_permissions -p <vhost> <user> "" "" ".*"

セキュリティ

  • 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
  • デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
  • 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
  • オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
  • 専用ユーザー — CloudThinker用に別個の cloudthinker ブローカーユーザーを作成し、guest や管理者アカウントを再利用しないでください
  • 転送中のTLSUse TLS を有効にして、CloudThinkerとブローカー間の管理APIトラフィックを暗号化してください

関連情報

Tony エージェント

データベース中心の監視と最適化エージェント

Kafka 接続

Apache Kafkaストリーミングのセットアップ手順