データ可視化ソリューション「Reveal」から Kafka に接続する方法
CData API Server を使って、Reveal にKafka データをフィードして、ビジュアライズを実現できます。コネクターによりリアルタイムデータ連携が可能になり、リフレッシュ操作で最新のデータを取得可能になります。この記事では、Reveal からKafka のデータに接続しビジュアライズする方法を説明します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなKafka OData サービスを作成していきましょう。
Kafka への接続
Reveal からKafka のデータを操作するには、まずKafka への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Kafka」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、Kafka への接続設定を行っていきましょう!
-
Apache Kafka 接続プロパティの取得・設定方法
それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。
Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。
デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化したい場合は、以下の設定を行ってください:
- UseSSL をtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
- SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします
Apache Kafka への認証
続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:
- Anonymous
- Plain
- SCRAM ログインモジュール
- SSL クライアント証明書
- Kerberos
Anonymous 認証
Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。
匿名認証を行うには、以下のプロパティを設定してください。
- AuthScheme:None
その他の認証方法については、ヘルプドキュメントをご確認ください。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
Apache Kafka 接続プロパティの取得・設定方法
それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。
Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。
デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化したい場合は、以下の設定を行ってください:
- UseSSL をtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
- SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします
Apache Kafka への認証
続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:
- Anonymous
- Plain
- SCRAM ログインモジュール
- SSL クライアント証明書
- Kerberos
Anonymous 認証
Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。
匿名認証を行うには、以下のプロパティを設定してください。
- AuthScheme:None
その他の認証方法については、ヘルプドキュメントをご確認ください。
API Server のユーザー設定
次に、API Server 経由でKafka にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Kafka 用のAPI エンドポイントの作成
ユーザーを作成したら、Kafka のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でKafka への接続を設定してユーザーを作成し、API Server でKafka データのAPI を追加しました。これで、OData 形式のKafka データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
ダッシュボードの作成
それでは実際に可視化を行っていきます。「Reveal」ではダッシュボードという単位でいくつかのグラフを配置して、構成していきます。
- Revealにログインし、「新規」→「ダッシュボード」をクリックします。
- データソースから「ODataフィード」を選択し
- API ServerのAPIエンドポイントURLを指定し、資格情報を入力します。 URLは「https://XXXXXXX/api.rsc/」といったように末尾が「api.rsc」で終わっているものを入力します。
- 資格情報は「汎用資格情報」を選択し、
- あらかじめ作成しておいたAPI Serverのユーザー名と認証トークンをそれぞれ指定します。
- 認証完了後、エンティティセットを選択する画面に移動するので、取得したい任意のエンティティセットを選択します。
- これでダッシュボードを作成する準備が整いました。あとは Reveal の機能を使って、Kafka・API Serverから取得したデータを可視化・分析することができます。
- 以下のようなグラフを作成することができました。
このように Kafka 内のデータをAPI を書くことなく Reveal 上で処理することができるようになります。
おわりに
これで、リアルタイムKafka のデータから簡単なダッシュボードが作成できました。Kafka (および150 を超えるほかのソース)からのOData フィードの作成方法の詳細については、API Server のページにアクセスしてください。30 日間無料トライアルをダウンロードしてOData API を使用するツールでKafka のデータをリアルタイムに活用しましょう。