Power BI Report Server でリアルタイム RabbitMQ のデータ のレポートを表示

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
CData ODBC Driver for RabbitMQ を使って Power BI Desktop でRabbitMQ のデータを可視化し、Power BI Report Server に公開。

CData ODBC ドライバは、Microsoft Windows のODBC ネイティブサポートにより、Microsoft Power BI などのセルフサービス分析ツールとシームレスに連携できます。CData ODBC Driver for RabbitMQ を使えば、Power BI レポートをRabbitMQ のデータにリンクし、ダッシュボードでRabbitMQ のデータをモニタリングできます。スケジュール更新やオンデマンド更新を設定することで、分析結果に常にリアルタイムのRabbitMQ のデータを反映させることも可能です。この記事では、ODBC ドライバを使用して Microsoft Power BI Desktop でRabbitMQ のデータのリアルタイムビジュアライゼーションを作成し、Power BI Report Server に公開する方法をご紹介します。

CData ODBC ドライバは、ドライバーに組み込まれた最適化されたデータ処理により、Power BI でリアルタイムRabbitMQ のデータを操作するための優れたパフォーマンスを実現します。Power BI から RabbitMQ に複雑な SQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされている SQL 操作を RabbitMQ に直接プッシュし、組み込み SQL エンジンを利用してサポートされていない操作(主に SQL 関数や JOIN 操作)をクライアント側で処理します。組み込みの動的メタデータクエリ機能により、Power BI ネイティブのデータ型を使用してRabbitMQ のデータを可視化・分析できます。

RabbitMQ にODBC データソースとして接続

まだ設定していない場合は、ODBC データソース名(DSN)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。Power BI Desktop から Power BI Report Server に Power BI レポートを公開するには、クライアント(デスクトップ)とサーバーの両方のマシンに ODBC ドライバをインストールし、各マシンで同じ名前の DSN を使用する必要があります。

RabbitMQ Management HTTP API について

RabbitMQ は、複数のメッセージングプロトコルをサポートするオープンソースのメッセージブローカーです。RabbitMQ Management HTTP API は、RabbitMQ サーバーの管理データと監視データに HTTP 経由でアクセスする手段を提供します。この API では、仮想ホスト、エクスチェンジ、キュー、バインディング、コネクション、チャネル、コンシューマー、ユーザー、権限、ポリシー、クラスター全体の統計情報を取得できます。

HTTP API を利用するには、RabbitMQ サーバーで Management プラグインを有効化する必要があります。デフォルトでは、管理インターフェースはポート 15672 でリッスンします。

Basic 認証の設定

RabbitMQ Management HTTP API は HTTP Basic 認証を使用します。RabbitMQ 管理ユーザーのユーザー名とパスワードを指定する必要があります。

管理 API へのアクセスを有効にするには、以下のステップで進めます:

  1. サーバーで RabbitMQ Management プラグインが有効になっていることを確認します(rabbitmq-plugins enable rabbitmq_management)。
  2. 既存の管理ユーザーを使用するか、適切な管理タグ(management、policymaker、monitoring、または administrator)を持つユーザーを作成します。
  3. RabbitMQ Management HTTP API の完全なベース URL を控えておきます(例:http://localhost:15672)。

RabbitMQ サーバーを設定したら、以下の接続プロパティを設定して接続します:

  • AuthScheme:Basic に設定します。
  • URL:RabbitMQ Management HTTP API のベース URL に設定します(例:http://localhost:15672)。
  • User:RabbitMQ の管理ユーザー名に設定します(例:guest)。
  • Password:RabbitMQ の管理パスワードに設定します。

接続文字列の例:

Profile=C:\profiles\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;

利用可能なテーブル

RabbitMQ プロファイルでは、以下のテーブルにアクセスできます:

  • Overview - クラスター全体の統計情報と RabbitMQ ノードに関する情報
  • Nodes - RabbitMQ クラスター内の個々のノードに関する情報
  • NodeMemory - 特定のクラスターノードの詳細なメモリ使用状況の内訳
  • Connections - ブローカーへのすべてのオープンな AMQP コネクションの一覧
  • Channels - すべてのコネクションにわたるオープンな AMQP チャネルの一覧
  • Consumers - すべてのキューに登録されたコンシューマーの一覧
  • Exchanges - すべての仮想ホストで宣言されたエクスチェンジの一覧
  • Queues - すべての仮想ホストで宣言されたキューの一覧
  • Bindings - エクスチェンジとキュー間のすべてのバインディングの一覧
  • VirtualHosts - ブローカーに設定された仮想ホストの一覧
  • VhostPermissions - 特定の仮想ホスト内のユーザー権限
  • Users - すべての RabbitMQ ユーザーの一覧
  • Permissions - すべての仮想ホストにわたる全ユーザーの権限レコード
  • TopicPermissions - 全ユーザーのトピックレベルの権限レコード
  • Policies - 仮想ホスト内のキューおよびエクスチェンジに適用されたポリシーの一覧
  • OperatorPolicies - 仮想ホスト内のキューに適用されたオペレーターポリシーの一覧
  • Parameters - 仮想ホストごとのコンポーネントパラメータ(例:federation、shovel)の一覧
  • GlobalParameters - すべての仮想ホストに適用されるグローバルパラメータの一覧
  • VhostLimits - 特定の仮想ホストに設定されたリソース制限
  • UserLimits - 特定のユーザーに設定されたリソース制限
  • FeatureFlags - フィーチャーフラグの一覧と、ノード上での有効/無効の状態
  • DeprecatedFeatures - 非推奨機能の一覧と、その使用状態
  • AuthAttempts - ノードの認証試行統計
  • ClusterName - RabbitMQ クラスターの名前
  • WhoAmI - 現在認証されている管理ユーザーに関する情報
  • ExchangeBindingsSource - 特定のエクスチェンジがソースとなっているバインディング
  • ExchangeBindingsDestination - 特定のエクスチェンジが宛先となっているバインディング
  • QueueBindings - 仮想ホスト内の特定のキューのバインディング

DSN を設定する際に、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時のパフォーマンス向上に役立ちます。

DSN を作成したら、以下の手順で Power BI Desktop から RabbitMQ DSN に接続します。

  1. Power BI Desktop を開き、[データを取得] -> [ODBC]をクリックします。PowerBI.com から Power BI Desktop を起動するには、ダウンロードボタンをクリックし、次に[Power BI Desktop]をクリックします。
  2. メニューでシステム DSN を選択します(Power BI Report Server に公開するために必要)。データをインポートするための SQL クエリがわかっている場合は、[詳細オプション] ノードを展開し、[SQL ステートメント]ボックスにクエリを入力できます。
  3. [ナビゲーター] ダイアログでテーブルを選択します。
  4. [編集] をクリックしてクエリを編集します。インポートしたテーブルがクエリエディターに表示されます。クエリエディターでは、RabbitMQ のデータ のローカルコピーを他のデータソースで充実させたり、RabbitMQ のカラムをピボットしたりできます。Power BI は、ドライバーが取得した RabbitMQ メタデータから各カラムのデータ型を検出します。

    Power BI は、クエリへの変更を [適用したステップ] セクションに記録し、リモートRabbitMQ のデータに対して実行される基になるデータ取得クエリを調整します。 [閉じて適用] をクリックすると、Power BI がデータ取得クエリを実行します。

    または、[読み込み] をクリックしてデータを Power BI に取り込みます。

データのビジュアライゼーションを作成

データを Power BI に取り込んだら、[フィールド] ペインからキャンバスにフィールドをドラッグして、[レポート] ビューでデータビジュアライゼーションを作成できます。以下の手順で円グラフを作成してみましょう。

  1. [ビジュアライゼーション] ペインで円グラフアイコンを選択します。
  2. [フィールド] ペインでディメンションを選択します。例:
  3. [フィールド] ペインでメジャーを選択します。例: 。以下の方法でビジュアライゼーションと使用するデータを変更できます。
    • チャートの省略記号(...)ボタンをクリックして並べ替えオプションを変更します。並べ替えカラムの選択や並べ替え順序の変更オプションが表示されます。
    • ハイライトとフィルタリングの両方を使用してデータにフォーカスできます。フィルタリングはフォーカス外のデータをビジュアライゼーションから削除し、ハイライトはフォーカス外のデータを薄暗く表示します。フィールドをクリックしてハイライトします。
    • [フィルター] ペインにフィールドをドラッグすることで、ページレベル、レポートレベル、または単一のビジュアライゼーションにフィルターを適用できます。フィールドの値でフィルタリングするには、[フィルター] ペインに表示される値のいずれかを選択します。
  4. [更新] をクリックしてデータの変更をレポートに同期し、Power BI レポートをクライアントマシンに保存します。

RabbitMQ のデータ レポートを Power BI Report Server にアップロード

ODBC データソースに基づくレポートを、Power BI Report Server を使用して組織内の他の Power BI ユーザーと共有できます。

  1. RabbitMQ 用の ODBC ドライバをレポートサーバーにインストール・設定します(上記の手順を参照)。
  2. レポートサーバー(通常は http://MYSERVER/reports)にログインし、新しいレポートのアップロードをクリックして、先ほど保存したレポートを選択します。
  3. レポートサーバーにアクセスできる任意のマシンから RabbitMQ レポートを表示します。

はじめる準備はできましたか?

API Driver で RabbitMQ のライブデータに接続

RabbitMQ に接続