@sinmetalさんの記事からの派生です。
GCPの課金データをDataStudioを使って可視化してなんか幸せになろうという試みです。
課金データをBigQueryにエクスポートする
DataStudioとは?
Googleが提供しているBIツールです。
先日無償かつレポート数無制限で使用できることが発表されました。
https://analytics-ja.googleblog.com/2017/02/google.html
ちなみにData StudioはGCPのサービスではなく、Google Analyticsのサービスになります。
作ったレポートはGoogle Driveにも統合されます。
Data Studioは大きく2つの要素に分かれます。
- レポート
- データソース
レポートが一番のキモですが、データソースも大事です。
レポートには複数のデータソースを持たせて表示することができます。
今回はBigQueryを使って課金データの可視化をします。
Data Studioを使う
https://datastudio.google.com/ にアクセスして下さい。
左側の「データソース」メニューをクリックしてもらうと、サンプルのデータソースやらがあると思います。
右下の「+」ボタンでデータソースを追加しましょう
データソースの追加
画像の通り、コネクタにBigQueryがあるので、対象のエクスポートされたデータがあるプロジェクトをポチポチと選んでいくと、最後に「接続」ボタンが有効になるのでポチりましょう。
データソース名はうっかり忘れがちなのでここで入力しとくといいです。
いつでも変更できますが、レポート作成中に「無題のデータソース」がいっぱいあると訳が分からなくなります。
※ 無題のデータソースのまま接続するとBigQueryのテーブル名そのままのデータソースになるみたいです。ただし、これはダッシュボードから普通にデータソースの作成をした場合で、レポート内からデータソース追加とかしてると名前がよくわからんものになる場合もあったんで注意が必要かも。
接続ボタンを押すと、BigQueryに接続しに行きます。
ちょっと待つとこんな画面が出てきます。
Billingのカラムですね。
ここの説明を入力しとくといいかもしれないですね。
それから、レポートに表などを表示する場合はフィールド名がまんま出てくるので、フィールド名を日本語に変えたりとかも可能です。
その他、合計値とか平均値とかの設定ができるんですが、今回は一旦そのままレポートを作成していきます。
右上の「レポート作成」ボタンをクリックして下さい。
レポート作成
新規レポートだと、このダイアログが出てくるので、追加してください。
画面はこんな感じ
こっから色々追加します。
ツールバー
期間で課金額を見る
折れ線グラフで時系列にこの日は課金が多かったとかを見ます
使えるのは、project.idとか、product、resource_type辺りです。
僕個人は1プロジェクトしか使ってないのでプロジェクトを内訳にしてもグラフが面白くないのでプロダクトにしました。
それから、デフォルトの期間をフィルタオプションとして設定できます。
このフィルタオプションでページ内のウィジェット全てに期間のフィルタを適用することができます。
ウィジェット個別に期間フィルタを設定することも可能です。(ウィジェットのプロパティにあります。)
課金額の合計を見る
スコアカードを使います。
costを選択してるので、指定した期間内で割引前の金額を表示しています。
割引後の金額にしてみます。
新しい指標を作成
ニュッと最初に作ったデータソースのウィンドウが出てきます。
ここでフィールドを追加します。
credit.amount
はマイナスの値で入ってるのでそのままカラムを加算しました。
ここの式には色々使えるので、Data Studioのヘルプを読んでみると色々できて楽しいですよ。
プロジェクト、プロダクトの割合を見る
円グラフを使います。
これまたディメンションを変えれば色々と見れます。
特定のプロダクトのグラフだけ見たい
フィルタオプションを使いましょう。
これで特定のプロダクトに絞ったりプロダクトを除外したデータが見れます。
期間フィルタと同様に、ページ内のデータに有効です。
チェックボックスのスタイルが気に入らなくてドロップダウンリストにしたい方は、プロパティのスタイルでエキスパンドをONにするとリスト形式になります。
また、フィルタオプションは複数置くことができ、しかもオプション動詞が連動します。
例えば、プロジェクト、プロダクト、リソースタイプという感じで子どものデータがある場合に両方向から絞り込めます。
まとめ
と言うわけで、BigQueryに入れたデータを可視化するにはクエリをがんばらなくてもこんなに簡単にできるのでみんなやってみるといいよ!ということでした。
会社だと、このGCPプロジェクトめっちゃ使ってるけど何してるんだ!みたいなのを見えるようにするのに役に立ちますね。
この時課金額めっちゃ上がってるけどなんかしたんだっけ?とか。
あと、注意ですがこれはあくまで「課金額」なのでシステムの負荷とはまた別物です。
システムを見たい場合はStackdriver Monitoring見るなり、Stackdriver LoggingからExportしたデータを可視化するなりした方がいいと思いますが、課金額との相関関係を見たい場合にはDataStudioが役に立つんじゃないかなー、と思います。
最後に、チャカチャカ適当に作るとこんな感じになりました。
もうちょいかっこいいのができたらレポート公開するかもしれません。
公開したらコピーして使ってみてください。
その他のサンプル
Visualize GCP Billing using BigQuery and Data Studio
EXTERNAL COPY Public Billing Report Demo
GCPのBilling Historyのスキーマはみんな同じなので、他にもReportが公開されています。
上記のReportはHow to Copyの手順で自分のBilling Historyのデータに差し替えることができます。