created: 2019-11-26T09:46:57.000Z
StackDriverLoggingのログへのクエリ入門
- クエリ内の文字列にはダブルクオートを使う必要がある (シングルクオートはダメそう)
- ログがjson形式の場合は
jsonPayload.requestUrl
とかでペイロードを使ったクエリもかける
こんなクエリを書くことになる
gcloud logging read '
logName="projects/my-proj/logs/openresty"
jsonPayload.requestUrl="http://example.com/api/"
timestamp>="2019-11-21T20:05:00+09:00"
timestamp<="2019-11-21T20:06:00+09:00"
' --format=json --limit=10 --order=asc
クエリを別ファイルに書きたいならこんな感じ
gcloud logging read "$(cat ,/stackdriver/test.logquery)" \
--format=json --order=asc
その他メモ
- なぜか
--order
のデフォルトがdescなので見慣れた形式にするならasc (普通は最新のログが下にくるよね) - プロジェクト内のlogNameのリストを見るのは
$ gcloud logging logs list
- 直近の5分の結果が欲しいなら
--freshness=5M
というオプションがつけられる - 容赦無く条件に合うもの全件取得してきちゃうようなので結果が大きそうなら
--limit=10
とか必要