• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

gcp cloud logging

date: 2021-03-09 excerpt: gcp cloud loggingについて

tag: gcppython


cloud loggingについて

概要

  • gcpのloggingの仕組みの一つ
  • cloud monitoringというサービスと連携させて用いる
  • オンプレの連携も可能
  • 通常のログとは異なり、structured loggingを用いる事ができる
    • jsonでのログ出力が可能

公式ドキュメント

  • cloud.google.com/logging/docs

gcloudを利用してログを書き込む

非構造化データを書き込む

$ gcloud logging write my-test-log "A simple entry."
  • my-test-logの作成は必要ない

構造化データを書き込む

$ gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'

compute engineに対してロギングソフトをインストールする

  • vmインスタンスにcloud monitoringとcloud loggingのソフトウェアを入れてservice startする
  • cloud monitoringでメトリックス等を作成して反映する

monitoring query language

  • cloud monitoringの画面でmqlに変更する
  • jq的なコマンドでクエリを作成するとログをフィルタし、その結果を知ることができる

pythonでのログの出力

ライブラリのインストール

$ pip install google-cloud-logging

structured logの出力

import google.cloud.logging
import logging
import json

client = google.cloud.logging.Client()
client.setup_logging()

# ログレベルをINFOに設定
logging.getLogger().setLevel(logging.INFO)

# 方法1. extraで渡す
data_dict = {"hello": "world"}
logging.warning("message field", extra={"json_fields": data_dict})

# 方法2. json.dumpsで渡す
data_dict = {"hello": "world"}
logging.info(json.dumps(data_dict))

用語

sink

  • cloud storageやbigqueryが最終アウトプット先ならばsinkは一歩手前のバッファ
  • docs/export

参考

  • Google Cloud Logging Python v3.0.0 スタートガイド


gcppython Share Tweet