使用 stackdriver CLI 查找时间戳之间的日志

Find logs between timestamps using stackdriver CLI

我需要使用 stackdriver CLI 查找两个时间戳之间的日志。我使用了以下命令。

gcloud beta logging read "timestamp>=\"2017-02-19T00:00:00Z\" AND timestamp<\"2017-03-14T00:00:00Z\"" 

但它给我错误:

文件名、目录名或卷标语法不正确。

这是我的 gcloud 版本详细信息

我是 Stackdriver 日志记录的产品经理。我们已经测试了该命令,它似乎工作正常。问题可能出在 Windows 命令 shell 上?一种猜测是,也许“>”和“<”前面需要“/”?将您的查询复制并粘贴到云端 shell 工作正常。

荣誉归功于 Google 工程师,他推荐了这个: 我在 windows 上使用 gcloud --filter 命令经常遇到这个问题。以下作品:

gcloud beta logging read "timestamp^>=""2017-02-19T00:00:00Z"" AND ""timestamp^<2017-03-14T00:00:00Z"""

注意双“”和 ^ 转义字符的使用。

您可以在命令行中添加 --verbosity debug,它会告诉您 gcloud 对参数的理解程度。

以上答案似乎不再有效。这是新命令。

gcloud logging read 'receiveTimestamp>="2019-08-08T21:00:00Z" AND receiveTimestamp<="2019-08-08T22:00:00Z"'

其实这个更简单。转义字符与双 "double quotes" 一起被删除。 :)

您可以简单地使用以下命令根据时间戳和其他过滤条件获取日志-

gcloud logging read 
"resource.type=cloud_run_revision
 resource.labels.service_name=new_service
 timestamp>=\"2021-08-30T00:00:01.086988Z\" AND timestamp<=\"2021-08-30T23:59:59.086988Z\""
 --format json > logs.json

这已经在 2021 年 9 月 3 日进行了测试和验证