こんにちは。CData Software Japan リードエンジニアの杉本です。
この記事では、Grafana と CData Connect を組み合わせることで、ネイティブにサポートされていないデータソースを追加して分析に利用する方法を紹介します。
Grafanaとは?
Grafanaは、Grafana Labs が公開しているオープンソースのダッシュボードツールソフトウェアです。
各種RDBやアプリケーションのログなど様々なデータを取り込んで、可視化し、ダッシュボードを作成することができます。
CData Connect とは?
CData Connect は、SaaS ベースで提供されるデータハブサービスです。Salesforce、NetSuite、Dynamics、Marketo、kintone など多様なSaaS にBI、アナリティクス、iPaaS、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。連携方法が異なるSaaS をMySQL、SQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。
"SQL as a Service" といっていいかもしれません。
Grafana へのSaaS データ連携
Grafana は、SQL Server や MySQL、PostgreSQLなどのデータベースやアプリケーションログの取り込みをサポートしています。とはいえ、そういったデータベースやアプリケーションログ 以外のSaaS データをどうやって連携すればいいのでしょうか? CData Connect を使えば、Grafana に多様なSaaS データを連携することができます。
接続手順
CData Connect にSalesforce データを接続
まず CData Connect (旧CloudHub) のアカウントを取得します。CData Connect はSaaS ですので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。
早速ブラウザからCData Connect にログインします。「DATABASE」タブから仮想データベースを設定していきます。まずは接続するデータソースであるSalesforce のアイコンをクリックします。
データソース接続画面が開くので、データソース毎の認証情報を入力します。Salesforce の場合はUser、Password、Security Token を入力することでデータにアクセスすることができます。
次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。
必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。
最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。
これでCData Connect でSalesforce データを扱う準備ができました。
Grafana で Salesforce データを使う
続いてGrafanaでSalesforce のデータに接続してみましょう。
GrafanaはSQL ServerのData Sourceが利用できるので、このData Sourceを利用して、CData Connectに接続することができます。
Grafanaの管理画面に移動し「Data Source」をクリックします。
「Add data source」をクリックし
「Microsoft SQL Server」を選択します。
SQL Server の設定画面では以下の通り必要な情報を入力します。「Save & Test」をクリックして、正常に作成されたら、設定を保存します。
プロパティ名 | 値 | 備考 |
---|---|---|
Name | 例)CData Connect | 任意の名称を指定します。 |
Host | 例)xxxx.cdatacloud.net | 事前に作成したSQL Server のエンドポイントを指定します。 |
Database | 例)Salesforce1 | 対象のCData Connectのデータベース名を指定します。 |
Database username | 例)admin | CData Connectで登録したユーザーのIDを指定します。 |
Database upassword | 例)YOUR_PASSWORD | CData Connectで登録したユーザーのPasswordを指定します。 |
Enctypt | TRUE |
設定を保存したら、実際にGrafanaでSalesforce のデータを抽出してみましょう。
「Explore」でSQLを通じてデータを抽出できます。
対象のデータソースとして先程登録したCData Connectを選択し
任意のSQLを記述します。例えば「SELECT * FROM Account」で取引先の情報を取得できます。
フォーマットはテーブル形式にしました。
「Run Query」をクリックすると、以下のようにSalesforce のデータを取得できます。
おわりに
この記事はシンプルなデータ取得を試しましたが、集計処理やフィルターも柔軟に実施できます。
また、今回はSalesforce を接続先のリソースとしましたが、外にも様々なリソースをSQL Server インターフェースとして扱うことができます。
Grafana と併せて、是非色々と活用してみてください。