KeepData Hubでアプリケーションの利用状況の可視化を実現しました

開発Div藤村です。

当社ではアプリケーションの利用状況について、当社製品のKeepData Hubを利用して可視化しており、今回はその内容を報告します。

取得したいメトリクス

  • ・Indexerで利用しているディスク容量
  • ・Composerで作成されたページ数
  • ・Composerで登録されたパーツ数

事前準備

今回取り込むファイルについて、ERで表すと下図になります。

f:id:t-fujimura:20180501115205p:plain
ER図

これを実現するためにテーブルの設定と各テーブルの紐づけ設定を行います。

テーブル設定

Composer画面でそれぞれ4つのテーブルを設定しますが、手順は簡単で

  • 1 テーブル名称を設定する
  • 2 サンプルCSVをアップロードする
  • 3 2.で自動判別されたカラム名称とデータの型を確認/修正する

以上です。

通常であれば、次のステップである、各テーブルの紐づけ設定へ進みますが、今回は「顧客情報」テーブルにCSVでは存在しないカラムを追加する作業を行います。
(ER図で[Composerフォルダ名]と赤く記載されているカラムです)

[Composerフォルダ名]は[企業コード]カラムの前方に特定文字列を付与した値となります。
「顧客情報」テーブルのカラム一覧画面で「カラム追加」ボタンを押下すると、式を入力するフィールドが表示されます。
今回は[企業コード]カラムに特定文字列を付与した式を記載して追加を行いました。

f:id:t-fujimura:20180501115251p:plain
カラム追加設定

このように実際に取り込みたいCSVにない項目を追加できる機能があるので、CSV出力プログラムを改修する必要がありません。

紐づけ設定

これでテーブルの情報が揃ったので、それぞれのテーブルを紐づける設定を行います。
KeepData Hubでは各テーブルのカラムを指定することで、テーブルを結合することができます。

f:id:t-fujimura:20180501115328p:plain
紐づけ設定

ここでは「顧客情報」と「Indexer使用量」の2テーブルを結合する方法を紹介します。

リンクデータ設定で「顧客情報」の[Indexerフォルダ名]と「Indexer使用量」の[Indexerフォルダ名]で結合するよう設定します。
次に表示カラム設定で表示する内容をそれぞれのテーブルから選択して保存します。

以上で、テーブルの結合が完成しました。

これで、各メトリクスデータを取り込む準備ができました。

データ投入

KeepData Hubではデータ投入用にAPIを用意していますので、今回はこのAPIを利用してメトリクスデータを投入します。

curlでPostするサンプルです。

curl -X POST "http://localhost/v1/projects/Indexer使用量/infiles" -H '認証情報が入ります' -F "file=@対象ファイル.csv"

これを毎夜22時に実行するようcron設定して完了です。

グラフ作成

後はKeepData Hubのグラフパーツを使用して、3つのグラフが表示されたページを作成しました。

f:id:t-fujimura:20180510110408p:plain
グラフ

終わりに

今回、KeepData Hubへ実際に利用状況を登録し、グラフによる可視化を実現しました。
このように取り込むデータに対して、項目追加やリンクデータ設定によるリレーションを利用することで、既存のログ出力システムを修正せずに可視化することも可能です。
これからもKeepData Hubの便利な利用方法を紹介していきます!!