26
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BigQueryにエクスポートしたGCPの課金データを可視化してみる

Last updated at Posted at 2017-02-12

@sinmetalさんの記事からの派生です。
GCPの課金データをDataStudioを使って可視化してなんか幸せになろうという試みです。

課金データをBigQueryにエクスポートする

@sinmetalさんの記事を参照してください。

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/ にアクセスして下さい。

スクリーンショット 2017-02-12 11.19.08.png

左側の「データソース」メニューをクリックしてもらうと、サンプルのデータソースやらがあると思います。
右下の「+」ボタンでデータソースを追加しましょう

Google_データスタジオ.png

データソースの追加

画像の通り、コネクタにBigQueryがあるので、対象のエクスポートされたデータがあるプロジェクトをポチポチと選んでいくと、最後に「接続」ボタンが有効になるのでポチりましょう。
データソース名はうっかり忘れがちなのでここで入力しとくといいです。
いつでも変更できますが、レポート作成中に「無題のデータソース」がいっぱいあると訳が分からなくなります。

Banners_and_Alerts_と_無題のデータソース.png

※ 無題のデータソースのまま接続するとBigQueryのテーブル名そのままのデータソースになるみたいです。ただし、これはダッシュボードから普通にデータソースの作成をした場合で、レポート内からデータソース追加とかしてると名前がよくわからんものになる場合もあったんで注意が必要かも。

接続ボタンを押すと、BigQueryに接続しに行きます。
ちょっと待つとこんな画面が出てきます。

スクリーンショット 2017-02-12 11.42.27.png

Billingのカラムですね。

ここの説明を入力しとくといいかもしれないですね。

それから、レポートに表などを表示する場合はフィールド名がまんま出てくるので、フィールド名を日本語に変えたりとかも可能です。

gcp_billing_export_0016CC_3188F7_91A787.png

その他、合計値とか平均値とかの設定ができるんですが、今回は一旦そのままレポートを作成していきます。
右上の「レポート作成」ボタンをクリックして下さい。

レポート作成

新規レポートだと、このダイアログが出てくるので、追加してください。

スクリーンショット 2017-02-12 11.47.11.png

画面はこんな感じ

無題のレポート.png

こっから色々追加します。

ツールバー

無題のレポート.png

期間で課金額を見る

折れ線グラフで時系列にこの日は課金が多かったとかを見ます

無題のレポート.png

使えるのは、project.idとか、product、resource_type辺りです。
僕個人は1プロジェクトしか使ってないのでプロジェクトを内訳にしてもグラフが面白くないのでプロダクトにしました。

無題のレポート.png

それから、デフォルトの期間をフィルタオプションとして設定できます。

無題のレポート.png

このフィルタオプションでページ内のウィジェット全てに期間のフィルタを適用することができます。
ウィジェット個別に期間フィルタを設定することも可能です。(ウィジェットのプロパティにあります。)

課金額の合計を見る

スコアカードを使います。
costを選択してるので、指定した期間内で割引前の金額を表示しています。

無題のレポート.png

無題のレポート.png

割引後の金額にしてみます。

無題のレポート.png

新しい指標を作成

無題のレポート.png

ニュッと最初に作ったデータソースのウィンドウが出てきます。
ここでフィールドを追加します。

無題のレポート.png

credit.amountはマイナスの値で入ってるのでそのままカラムを加算しました。

スクリーンショット 2017-02-12 12.15.38.png

ここの式には色々使えるので、Data Studioのヘルプを読んでみると色々できて楽しいですよ。

プロジェクト、プロダクトの割合を見る

円グラフを使います。
これまたディメンションを変えれば色々と見れます。

スクリーンショット 2017-02-12 12.26.35.png

特定のプロダクトのグラフだけ見たい

フィルタオプションを使いましょう。

スクリーンショット 2017-02-12 12.28.05.png

これで特定のプロダクトに絞ったりプロダクトを除外したデータが見れます。
期間フィルタと同様に、ページ内のデータに有効です。

チェックボックスのスタイルが気に入らなくてドロップダウンリストにしたい方は、プロパティのスタイルでエキスパンドをONにするとリスト形式になります。

スクリーンショット 2017-02-12 12.30.34.png

また、フィルタオプションは複数置くことができ、しかもオプション動詞が連動します。
例えば、プロジェクト、プロダクト、リソースタイプという感じで子どものデータがある場合に両方向から絞り込めます。

  • 全部選択した状態
    スクリーンショット 2017-02-12 12.32.49.png
  • プリエンプティブだけにした状態
    スクリーンショット 2017-02-12 12.33.54.png

まとめ

と言うわけで、BigQueryに入れたデータを可視化するにはクエリをがんばらなくてもこんなに簡単にできるのでみんなやってみるといいよ!ということでした。
会社だと、このGCPプロジェクトめっちゃ使ってるけど何してるんだ!みたいなのを見えるようにするのに役に立ちますね。
この時課金額めっちゃ上がってるけどなんかしたんだっけ?とか。

あと、注意ですがこれはあくまで「課金額」なのでシステムの負荷とはまた別物です。
システムを見たい場合はStackdriver Monitoring見るなり、Stackdriver LoggingからExportしたデータを可視化するなりした方がいいと思いますが、課金額との相関関係を見たい場合にはDataStudioが役に立つんじゃないかなー、と思います。

最後に、チャカチャカ適当に作るとこんな感じになりました。

Billing_Report.png

もうちょいかっこいいのができたらレポート公開するかもしれません。
公開したらコピーして使ってみてください。

その他のサンプル

Visualize GCP Billing using BigQuery and Data Studio
EXTERNAL COPY Public Billing Report Demo

GCPのBilling Historyのスキーマはみんな同じなので、他にもReportが公開されています。
上記のReportはHow to Copyの手順で自分のBilling Historyのデータに差し替えることができます。

26
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?