開発Div藤村です。
当社ではアプリケーションの利用状況について、当社製品のKeepData Hubを利用して可視化しており、今回はその内容を報告します。
取得したいメトリクス
- ・Indexerで利用しているディスク容量
- ・Composerで作成されたページ数
- ・Composerで登録されたパーツ数
事前準備
今回取り込むファイルについて、ERで表すと下図になります。
これを実現するためにテーブルの設定と各テーブルの紐づけ設定を行います。
テーブル設定
Composer画面でそれぞれ4つのテーブルを設定しますが、手順は簡単で
- 1 テーブル名称を設定する
- 2 サンプルCSVをアップロードする
- 3 2.で自動判別されたカラム名称とデータの型を確認/修正する
以上です。
通常であれば、次のステップである、各テーブルの紐づけ設定へ進みますが、今回は「顧客情報」テーブルにCSVでは存在しないカラムを追加する作業を行います。
(ER図で[Composerフォルダ名]と赤く記載されているカラムです)
[Composerフォルダ名]は[企業コード]カラムの前方に特定文字列を付与した値となります。
「顧客情報」テーブルのカラム一覧画面で「カラム追加」ボタンを押下すると、式を入力するフィールドが表示されます。
今回は[企業コード]カラムに特定文字列を付与した式を記載して追加を行いました。
このように実際に取り込みたいCSVにない項目を追加できる機能があるので、CSV出力プログラムを改修する必要がありません。
紐づけ設定
これでテーブルの情報が揃ったので、それぞれのテーブルを紐づける設定を行います。
KeepData Hubでは各テーブルのカラムを指定することで、テーブルを結合することができます。
ここでは「顧客情報」と「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つのグラフが表示されたページを作成しました。
終わりに
今回、KeepData Hubへ実際に利用状況を登録し、グラフによる可視化を実現しました。
このように取り込むデータに対して、項目追加やリンクデータ設定によるリレーションを利用することで、既存のログ出力システムを修正せずに可視化することも可能です。
これからもKeepData Hubの便利な利用方法を紹介していきます!!