Supported OS Linux Windows Mac OS

インテグレーションバージョン7.1.0

RabbitMQ ダッシュボード

概要

このチェックは、Datadog Agent を通じて RabbitMQ を監視します。

  • キューサイズ、コンシューマー数、未承認メッセージ、再配信メッセージなどのキューベースの統計を追跡できます。
  • 待機プロセス、使用されたソケット、使用されたファイルディスクリプタなどのノードベースの統計を追跡できます。
  • vhost の稼働状態や接続数を監視できます。

セットアップ

インストール

RabbitMQ チェックは Datadog Agent パッケージに含まれています。サーバーに追加でインストールする必要はありません。

構成

RabbitMQ は、RabbitMQ Management PluginRabbitMQ Prometheus Plugin の 2 つの方法でメトリクスを公開します。Datadog インテグレーションは両方のバージョンをサポートしています。使用するバージョンに関連する構成説明については、このファイルの指示に従ってください。また、Datadog インテグレーションには、それぞれのバージョンに対応するすぐに使えるダッシュボードとモニターが付属しており、ダッシュボードとモニターのタイトルで区別されています。

RabbitMQ の準備

RabbitMQ Prometheus Plugin

RabbitMQ v3.8 から RabbitMQ Prometheus Plugin がデフォルトで有効になっています。

RabbitMQ の Prometheus プラグインバージョンは、Datadog Agent による Python 3 のサポートが必要なため、Agent v6 以降でのみサポート可能です。Prometheus プラグインバージョンのインテグレーションを構成する前に、Agent がアップデートされていることを確認してください。

インスタンス構成で prometheus_plugin セクションを設定します。prometheus_plugin オプションを使用する場合、Management Plugin に関連する設定は無視されます。

instances:
  - prometheus_plugin:
      url: http://<HOST>:15692

これにより、1 つの RabbitMQ ノードで /metrics エンドポイントのスクレイピングが可能になります。また、Datadog は /metrics/detailed エンドポイントからもデータを収集することができます。

instances:
  - prometheus_plugin:
      url: http://<HOST>:15692
      unaggregated_endpoint: detailed?family=queue_coarse_metrics

 これにより、/metrics/detailed エンドポイントをスクレイピングして、キューの粗いメトリクスを収集することができます。

RabbitMQ Management Plugin

プラグインを有効化します。Agent ユーザーは、少なくともmonitoringタグとこれらの必要な権限が必要です。

アクセス許可コマンド
conf^aliveness-test$
write^amq\.default$
read.*

次のコマンドで、デフォルトの vhost 用に Agent ユーザーを作成します。

rabbitmqctl add_user datadog <シークレット>
rabbitmqctl set_permissions  -p / datadog "^aliveness-test$" "^amq\.default$" ".*"
rabbitmqctl set_user_tags datadog monitoring

ここで、/ はデフォルトのホストを表します。これを、指定した仮想ホスト名に設定してください。詳細については、RabbitMQ のドキュメントを参照してください。

ホスト

ホストで実行中の Agent に対してこのチェックを構成するには

メトリクスの収集
  1. RabbitMQ メトリクスの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの rabbitmq.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル rabbitmq.d/conf.yaml を参照してください。

    : Agent は、デフォルトですべてのキュー、vhost、ノードをチェックしますが、リストまたは正規表現を指定してこれを制限できます。例については、rabbitmq.d/conf.yaml を参照してください。

  2. Agent を再起動します

ログ収集

Agent バージョン 6.0 以降で利用可能

  1. デフォルトのログファイルの場所を変更するには、RABBITMQ_LOGS 環境変数を設定するか、以下の行を RabbitMQ 構成ファイル (/etc/rabbitmq/rabbitmq.conf) に追加します。

      log.dir = /var/log/rabbit
      log.file = rabbit.log
    
  2. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  3. RabbitMQ ログの収集を開始するには、rabbitmq.d/conf.yaml ファイルの logs セクションを編集します。

    logs:
      - type: file
        path: /var/log/rabbit/*.log
        source: rabbitmq
        service: myservice
        log_processing_rules:
          - type: multi_line
            name: logs_starts_with_equal_sign
            pattern: "="
    
  4. Agent を再起動します

コンテナ化

Datadog の Docker コンテナオートディスカバリーを活用することができます。RabbitMQ 固有の設定は、auto_conf.yaml の設定例を参照してください。

Kubernetes などのコンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。

メトリクスの収集
パラメーター
<INTEGRATION_NAME>rabbitmq
<INIT_CONFIG>空白または {}
<INSTANCE_CONFIG>{"prometheus_plugin": {"url": "http://%%host%%:15692"}}
ログ収集

Agent v6.0 以降で利用可能

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。

パラメーター
<LOG_CONFIG>{"source": "rabbitmq", "service": "rabbitmq", "log_processing_rules": [{"type":"multi_line","name":"logs_starts_with_equal_sign", "pattern": "="}]}

検証

Agent の status サブコマンドを実行し、Checks セクションで rabbitmq を探します。

収集データ

メトリクス

イベント

サービスチェック

トラブルシューティング

Prometheus Plugin への移行

Prometheus Plugin は、Management Plugin とは異なるメトリクスを公開します。 ここでは、Management Plugin から Prometheus Plugin に移行する際に注意すべき点を説明します。

  • この表でメトリクスを検索してください。メトリクスの説明に [OpenMetricsV2] タグが含まれていれば、Prometheus Plugin で利用可能です。Management Plugin のみで利用可能なメトリクスは、説明にタグを持ちません。
  • Management Plugin のメトリクスを使用しているダッシュボードやモニターは機能しません。OpenMetrics Version と表示されているダッシュボードやモニターに切り替えてください。
  • デフォルトの構成では、集計されたメトリクスが収集されます。これは、例えば、キューによってタグ付けされたメトリクスが存在しないことを意味します。オプション prometheus_plugin.unaggregated_endpoint を構成すると、集計せずにメトリクスを取得することができます。
  • サービスチェックの rabbitmq.statusrabbitmq.openmetrics.health に置き換えられました。サービスチェックの rabbitmq.aliveness は、Prometheus Plugin では同等のものはありません。

Prometheus Plugin では、いくつかのタグが変更されます。以下の表は、より一般的なタグの変更点を説明したものです。

管理Prometheus
queue_namequeue
rabbitmq_vhostvhostexchange_vhostqueue_vhost
rabbitmq_exchangeexchange

詳しくは、タグファミリーに基づいて RabbitMQ キューをタグ付けを参照してください。

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料

お役に立つドキュメント、リンクや記事:

PREVIEWING: may/embedded-workflows