Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Cloud MonitoringのデータをBigQueryへスムーズに連携

By Elad ShaabiSep 13, 20213 min read

このページはEnglishDeutschEspañolFrançaisItalianoPortuguêsでもご覧いただけます。

Cloud Monitoringは取得したメトリクスデータを、あらかじめ定められた期間だけ保持します。保持期間はメトリクスの種類によって異なります。詳細は データ保持ポリシー をご確認ください。Googleはこの期間を随時更新しているため、定期的にページを見直すことをおすすめします。

保持期間を過ぎると、Cloud Monitoringは期限切れのデータポイントを削除します。時系列内のすべてのポイントが期限切れになると、その時系列自体も削除されます。削除された時系列はCloud Monitoringのチャートにも、Monitoring APIの結果にも表示されなくなります。

要するに、データポイントは6週間後に削除されるということです。しかし、分析やトラブルシューティングの観点では、その期間を超えても掘り下げたい貴重なデータであることも少なくありません。現状では、大量のモニタリングデータを他の分析システムへ手軽にエクスポートする方法は用意されていません。

そこで朗報です。Cloud Monitoringの生データをBigQueryのテーブルへエクスポートし、後から分析できるようにするオープンソースプロジェクトを公開しました!

プロジェクトはこちら: https://github.com/doitintl/gcp-monitoring-metric-exporter

Google Cloud Metric Exporterのアーキテクチャ

例として、Google Cloud Dataflowのシステムラグメトリクス(dataflow.googleapis.com/job/system_lag)をBigQueryのテーブルへエクスポートしてみましょう。

このデータは、現在Cloud Monitoring上で以下のように確認できます。

これをBigQueryへエクスポートすれば、より長期間データを保持しながら、集計や分析を適切に行えるようになります。

始め方はこちら: https://github.com/doitintl/gcp-monitoring-metric-exporter

Filterには必ず有効なフィルター式を設定してください。今回のケースでは、次のようになります。

‘metric.type = "dataflow.googleapis.com/job/system_lag"’

フィルターの外側はシングルクォート(‘)、内側はダブルクォート(")で囲む点にご注意ください。

対象のBigQueryデータセット配下でGCP Monitoring Metric Exporterを実行すると、エクスポートジョブ名のテーブルが新たに作成され、メトリクスのデータポイントが書き込まれます。以降もGCP Monitoring Metric Exporterが継続的にデータをエクスポートし、テーブルを更新していきます。

メトリクスデータがBigQueryに揃えば、実績あるBigQueryの各種機能を活用して、データの探索・分析・関係者との共有がスムーズに行えます。さらに重要なのは、データ保持期間を気にせず、必要な期間だけデータを保管できる点です。

ぜひこのリソースを同僚やSNSのフォロワーにも共有してください。フィードバックやご提案もお気軽にお寄せください。

お読みいただきありがとうございました! 最新情報は DoiT Engineering Blog DoiT LinkedInチャンネル DoiT Twitterチャンネル で発信しています。採用情報は https://careers.doit-intl.com をご覧ください。