【完全ガイド】Power BI × RabbitMQ連携 - SQLなしでRabbitMQのデータを分析・可視化
CData Power BI Connectors は、セルフサービスBI であるMicrosoft Power BI のデータソースをRabbitMQ を含む270種類以上のSaaS / DB に拡充、分析や可視化を実現します。もちろん、ダッシュボードでRabbitMQ のデータをモニタリングしたり、定期更新やリアルタイムでのデータ更新も自在に可能。この記事では、Power BI Connector を使用してPower BI Desktop からRabbitMQ の可視化を作成する方法について詳しく説明します。
クラウド提供のPowerBI.com へのRabbitMQ レポートの発行(パブリッシュ)方法については、こちらの記事をご参照ください。
CData Power BI Connectors とは?:SQL・コーディングなしでRabbitMQ のデータを活用
CData Power BI Connectors は、以下の特徴を持つPower BI とのリアルタイムデータ連携ソリューションです。
- RabbitMQ をはじめとする、CRM、MA、グループウェア、広告、会計ツールなど多様な270種類以上のSaaS / DB に対応
- ノーコードでの手軽な接続設定。SQL・コーディングは必要ありません
- DirectQuery に対応し、大容量データの動的な取得・更新も可能
- 標準SQL での柔軟なデータ読み込み
CData Power BI Connectors では、1.データソースとしてRabbitMQ の接続を設定、2.Power BI 側でコネクタとの接続を設定、という2ステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData Power BI Connector のインストールとRabbitMQ への接続設定
まずは、本記事右側のサイドバーからAPI Power BI Connector の無償トライアルをダウンロード・インストールしてください。30日間無料で製品版の全機能が使用できます。
Power BI のデータソースとしてRabbitMQ を設定
CData Power BI Connector をインストールすると完了後にDSN 設定画面が開きます。ここでRabbitMQ への接続を設定します。もしDSN 設定画面が開かない場合は、手動で「ODBC データソース アドミニストレータ(DSN)」プログラムを開いてください。
DSN 内の「CData PBI API」を選択します。DSN 設定画面で必要な資格情報を入力してRabbitMQ のデータに接続します。入力後に接続のテストを行い、OK をクリックすれば接続は完了です。埋め込みOAuth に対応したデータソースであれば、「接続テスト」をクリックするとログイン画面が立ち上がり、ログインを完了するだけで接続設定が完了します。簡単ですね!
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 へのアクセスを有効にするには、以下のステップで進めます:
- サーバーで RabbitMQ Management プラグインが有効になっていることを確認します(rabbitmq-plugins enable rabbitmq_management)。
- 既存の管理ユーザーを使用するか、適切な管理タグ(management、policymaker、monitoring、または administrator)を持つユーザーを作成します。
- 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 - 仮想ホスト内の特定のキューのバインディング
これで、RabbitMQ のデータをPower BI に連携するための準備は完了です!いよいよPower BI からRabbitMQ のデータを取得していきます。
RabbitMQ テーブルをPower BI からクエリ
それでは、実際にPower BI からRabbitMQ のデータを取得してみましょう。
- Power BI Desktop を開き、「データ」->「データを取得」->「その他」->「CData API」を選択して接続を押します。次にサードパーティドライバーのプロンプトが出る場合には、そのまま続行します。
- CData PBI API を「Data Source Name」欄に入力します。データ接続モードを選択します:
インポート:データをプロジェクトにインポートする場合。オンデマンドで更新が可能。
DirectQuery:RabbitMQ のデータとリアルタイムで連携する場合。 - ナビゲーターダイアログで使用するテーブルを選択します。選択したら、「読み込み」ボタンをクリックしてデータを取得します。
- (オプション)データをそのまま読み込まず、「データの変換」を使ってデータをカスタマイズすることもできます。例えば、以下の操作が可能です。必要に応じて試してみてください。
- カラムのデータ型の変更
- カラムの削除
- カラムのグルーピング
Power BI は、コネクタが取得・検出したRabbitMQ のカラム毎のデータ型をそのまま使えます。データ変換を取得して、指定した条件でクエリを発行し、RabbitMQ からデータを取得します。
RabbitMQ のデータを分析・可視化
データをPower BI で取得したら、いよいよ可視化に活用できます!レポートビューで取得したRabbitMQ フィールドをドラッグ&ドロップして可視化を作成していきましょう。グラフの種類を可視化ペインから選択し、フィールドのカラムをドラッグして設定します。
「更新」をクリックすると、その時点でのリアルタイムデータをRabbitMQ から取得してレポートに反映させることができます。
これで、RabbitMQ のデータのPower BI での可視化ができました!あとは可視化を追加したり、フィルタリングや集計、データ変換などPower BI のパワフルな機能を活用して分析、レポーティング、ダッシュボード構築などさまざまな用途で利用できます。
RabbitMQ からPower BI へのデータ連携には、CData Power BI Connector をご利用ください
本記事で紹介したようにCData Power BI Connectors と併用することで、270を超えるSaaS、NoSQL、DB のデータをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData Power BI Connector は日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。製品の使用方法、購入方法などについてご質問がありました、お気軽にお問い合わせください。
よくある質問(FAQ)
RabbitMQ とPower BI の連携に関するとくある質問にお答えします。