CData Software Blog

クラウド連携のCData Software の技術ブログです。

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

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、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。連携方法が異なるSaaSMySQLSQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。

"SQL as a Service" といっていいかもしれません。

Grafana へのSaaS データ連携

Grafana は、SQL ServerMySQLPostgreSQLなどのデータベースやアプリケーションログの取り込みをサポートしています。とはいえ、そういったデータベースやアプリケーションログ 以外の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 と併せて、是非色々と活用してみてください。