オープンソースのデータ可視化ツール Grafana からSalesforceのデータにアクセス:CData Connect

by 杉本和也 | 2021年04月15日

f:id:sugimomoto:20210415094838p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

この記事では、Grafana と CData Connect を組み合わせることで、ネイティブにサポートされていないデータソースを追加して分析に利用する方法を紹介します。

Grafanaとは?

Grafanaは、Grafana Labs が公開しているオープンソースのダッシュボードツールソフトウェアです。

grafana.com

f:id:sugimomoto:20210415094403p:plain

各種RDBやアプリケーションのログなど様々なデータを取り込んで、可視化し、ダッシュボードを作成することができます。

f:id:sugimomoto:20210415094410p:plain

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 データを連携することができます。

f:id:sugimomoto:20210415094721p:plain

接続手順

CData Connect にSalesforce データを接続

まず CData Connect (旧CloudHub) のアカウントを取得します。CData Connect はSaaS ですので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。

早速ブラウザからCData Connect にログインします。「DATABASE」タブから仮想データベースを設定していきます。まずは接続するデータソースであるSalesforce のアイコンをクリックします。

f:id:cdatasoftware:20201016155823p:plain

データソース接続画面が開くので、データソース毎の認証情報を入力します。Salesforce の場合はUser、Password、Security Token を入力することでデータにアクセスすることができます。

f:id:cdatasoftware:20201016155923p:plain

次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。

必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。

f:id:cdatasoftware:20201014212922p:plain

最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。

f:id:cdatasoftware:20201014212650p:plain

これでCData Connect でSalesforce データを扱う準備ができました。

Grafana で Salesforce データを使う

続いてGrafanaでSalesforce のデータに接続してみましょう。

GrafanaはSQL ServerのData Sourceが利用できるので、このData Sourceを利用して、CData Connectに接続することができます。

Grafanaの管理画面に移動し「Data Source」をクリックします。

f:id:sugimomoto:20210415094444p:plain

「Add data source」をクリックし

f:id:sugimomoto:20210415094451p:plain

「Microsoft SQL Server」を選択します。

f:id:sugimomoto:20210415094458p:plain

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

f:id:sugimomoto:20210415094506p:plain

設定を保存したら、実際にGrafanaでSalesforce のデータを抽出してみましょう。

「Explore」でSQLを通じてデータを抽出できます。

f:id:sugimomoto:20210415094512p:plain

対象のデータソースとして先程登録したCData Connectを選択し

f:id:sugimomoto:20210415094517p:plain

任意のSQLを記述します。例えば「SELECT * FROM Account」で取引先の情報を取得できます。

フォーマットはテーブル形式にしました。

f:id:sugimomoto:20210415094522p:plain

「Run Query」をクリックすると、以下のようにSalesforce のデータを取得できます。

f:id:sugimomoto:20210415094527p:plain

おわりに

この記事はシンプルなデータ取得を試しましたが、集計処理やフィルターも柔軟に実施できます。

また、今回はSalesforce を接続先のリソースとしましたが、外にも様々なリソースをSQL Server インターフェースとして扱うことができます。

www.cdata.com

f:id:sugimomoto:20210324152403p:plain

Grafana と併せて、是非色々と活用してみてください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。