お題
表題のチュートリアルを試しにやってみる。
【参照】
https://cloud.google.com/logging/docs/quickstart-sdk
前提
- GCP環境は保持済み。
-
gcloud
コマンドインストール済み。
試行
非構造化ログの書き込み
$ gcloud logging write test-log "This is a test log."
Created log entry.
Cloud Consoleで見ると、こんな感じ。
※ポイントは、選択リソースプルダウンで「グローバル」を選択すること!(最初、表示されなくて焦った・・・)
構造化ログの書き込み
$ gcloud logging write --payload-type=json test-log2 '{"id":1,"name":"Taro","age":20}'
Created log entry.
書き込んだログをgcloud
コマンドで確認
$ gcloud logging read "resource.type=global"
---
insertId: 1hafp3pg1ugpjd1
jsonPayload:
age: 20
id: 1
name: Taro
logName: projects/XXXXXXXX/logs/test-log2
receiveTimestamp: '2018-08-19T09:11:15.179659141Z'
resource:
labels:
project_id: XXXXXXXX
type: global
timestamp: '2018-08-19T09:11:15.179659141Z'
---
insertId: 10cm45xg1y8lsg7
logName: projects/XXXXXXXX/logs/test-log
receiveTimestamp: '2018-08-19T08:33:20.389734330Z'
resource:
labels:
project_id: XXXXXXXX
type: global
textPayload: This is a test log.
timestamp: '2018-08-19T08:33:20.389734330Z'
ログの保持期間
見ると、ありとあらゆるログがStackdriver Logging
に記録されている様子。
これらのログは全ていつまでも記録され続けるんだろうか?
当然そんなことはなかった。
https://cloud.google.com/logging/quotas#logs_retention_periods
- 管理アクティビティ監査ログ:400日
- データアクセス監査ログ:30日
- アクセスの透明性ログ:30日
- 監査ログまたはアクセスの透明性ログ以外のログ:30日
正直なところ、上記それぞれのログの違いは調べていないけど、おそらく今日吐いたログは、30日経過すると消えてしまう(可能性がある)ということかな。
となると、必要なログは消える前にどこかに退避する必要がある。
退避先はGCSかな。↓のドキュメントもあったので、今度、このへんも調べてみよう。
https://cloud.google.com/logging/docs/export/