【问题标题】:gcloud logging with regular expression使用正则表达式进行 gcloud 日志记录
【发布时间】:2021-11-09 08:05:57
【问题描述】:

我正在尝试将gcloud logging 与正则表达式一起使用。我的查询在控制台中运行,但我无法通过 CLI 进行。

gcloud logging read "resource.type=gce_instance AND protoPayload.authenticationInfo.principalEmail=~'.*@example.com.au'" --limit=10 --format=json

我得到错误:

ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Unparseable filter: unrecognized node at token 'MEMBER'

我尝试过使用和不使用各种引号'' "" "\"\

我在做时间戳日期时也遇到了同样的问题:

gcloud logging read "resource.type=gce_instance AND timestamp > '2021-06-15T00:00:00.000000Z'"

我得到错误:

ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Unparseable filter: syntax error at line 1, column 112, token ':';

【问题讨论】:

  • 我遇到了同样的错误。您能否更新您的问题,详细说明您是如何使用控制台执行此操作的?
  • @Wojtek_B 通过控制台使用 Cloud Logging 我的查询如下所示:resource.type="gce_instance" AND protoPayload.authenticationInfo.principalEmail =~ ".*@example.com.au"。我的目的是在不应该使用的项目中找到活跃用户。以上不适用于 python SDK。

标签: gcloud google-cloud-logging


【解决方案1】:

您的第一个 gcloud 表达式应如下所示:

cloud logging read "resource.type=gce_instance AND protoPayload.authenticationInfo.principalEmail:'.*@example.com.au'"

我将= 符号更改为:

第二个是这样的:

gcloud logging read 'resource.type=gce_instance AND timestamp > "2021-08-15T00:00:00.000000Z"'

我用双引号交换了单引号(字面意思)。

最好快速查看gcloud logging read command documentation(我通过这种方式找到了正确的语法)。

【讨论】:

  • 再次感谢。我花了半天时间通过控制台学习 Cloud Logging 查询,然后尝试使用 gcloud 并遇到了问题。但看起来每个人都有自己的语言变体。
猜你喜欢
  • 2021-06-07
  • 2015-09-06
  • 1970-01-01
  • 2019-02-09
  • 2011-09-12
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
相关资源
最近更新 更多