Google Cloudを利用していると、アプリケーションの動作確認やエラー分析のために「ログの可視化」が必要になる場面が多々あります。
「Cloud Loggingのコンソール画面だけでは分析がしにくい...」
「過去の傾向をグラフ化してダッシュボードで共有したい」
そんな悩みをお持ちの方に向けて、今回はCloud LoggingのログをBigQuery経由でLooker Studioへ連携し、可視化するまでの手順を完全ガイドします。
1. 今回の可視化フローとBigQueryを選定した理由
今回は、以下のフローでログを可視化します。
ローカル (functions-framework) → Cloud Logging → BigQuery → Looker Studio
なぜ途中にBigQueryを挟むのでしょうか?その理由は、Cloud Loggingに備わっている**「ログシンク(Log Sink)」**という機能を利用し、同期的にデータベースへ格納するためです。
他にもPub/Subを宛先にするなどの方法はありますが、BigQueryを採用することで以下のようなメリットが得られます。
- データの長期保存: Cloud Loggingのデフォルトの保存期間を過ぎたログも蓄積できる。
- 高度なSQL分析: 複雑な条件での抽出や集計が容易。
- 将来的な拡張性: 他のデータソースと結合したり、最近リリースされたのMCP(Model Context Protocol)サーバーを活用したAI連携など、データ活用の幅が広がります。
2. 利用するサービスの概要
手順に入る前に、各サービスの役割を整理しておきましょう。
| サービス名 | 概要・役割 |
|---|---|
| Cloud Logging | Google Cloud上のログを一元的に収集・保存・分析する管理サービス。 |
| BigQuery | 膨大なデータを高速かつ低コストで分析できるフルマネージドなデータウェアハウス(DWH)。 |
| Looker Studio | 複数のデータソースを統合し、ドラッグ&ドロップで視覚的なレポートを作成できる無料のBIツール。 |
3. 手順①:Cloud Loggingにログを出力する
まずは、可視化の元となるログをローカル環境(functions-framework)から出力させます。Pythonを使用した実装例は以下の通りです。
import logging
import google.cloud.logging
import functions_framework
@functions_framework.http
def logging_sink(request):
# Google Cloud Logging クライアントのセットアップ
log_client = google.cloud.logging.Client()
log_client.setup_logging()
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
# 可視化したいデータ(ペイロード)
payload = {
'value1': 'testです1',
'value2': 'testです2',
'value3': 'testです3',
}
logger.info(payload)
return "OK", 200
出力後、ログビューアで正しく表示されているか確認しましょう。
4. 手順②:ログシンクを作成する
次に、Cloud LoggingからBigQueryへログを自動転送する設定を行います。
-
ログルーターを選択: 左のサイドバーから「ログルーター」を選択します。
- シンクの作成: 「シンクを作成」を選択し、分かりやすいシンク名を入力します。
-
宛先の設定: プルダウンから「BigQuery データセット」を選びます。初めての場合は「新しいBigQueryデータセットを作成する」からプロジェクトIDやデータセットIDを設定してください。
- ログのフィルタリング: BigQueryに送るログを絞り込みます。
5. 手順③:BigQueryでビュー(View)を作成する
シンクされた直後のデータは全ての値が格納されており、Looker Studioでそのまま扱うには少し不便です。そこで、SQLクエリを使って「ビュー」を作成し、必要な項目jsonPayloadなどのみに整理します。
- 対象のデータセットで「クエリ」を選択し、以下のコードを自身の環境に合わせて書き換えて実行します。
CREATE OR REPLACE VIEW `<your-project-id>.<your-dataset-id>.<your-view-name>` AS
SELECT
timestamp,
jsonPayload
FROM
`<your-project-id>.<your-dataset-id>.<your-table-name>`
6. 手順④:Looker Studioでレポート作成
Looker Studioが開いたら、あとは「ディメンションを追加」して表やグラフをカスタマイズするだけです!
これで、自分だけのオリジナルログ・ダッシュボードの完成です。
⚠️ 運用の注意点:スキーマ変更について
レコードの更新はほぼ同期されますが、注意が必要なのが「新しいキー(カラム)の追加」です。
例えば、後からアプリ側で value4 という項目をログに追加した場合、Looker Studio側で自動的に認識されるわけではありません。
- アプリ側でログ出力内容を変更
- BigQuery側でビューを再作成・置換(REPLACE VIEW)
- Looker Studio側でフィールドの更新
という手順が必要になります。設計の段階で、どのキーをカラムとして活用するかをしっかり決めておくのがスムーズな運用のコツです。
最後まで読んでいただきありがとうございました。
Cloud Logging × BigQuery × Looker Studio の組み合わせは、トラブルシューティングだけでなく、サービスの利用傾向を分析するのにも非常に強力な武器になります。ぜひ試してみてください!
参考URL:



