繁体   English   中英

Google Cloud Console 日志记录中的正则表达式

[英]Regular Expressions in Google Cloud Console Logging

您如何使用正则表达式在新的 Cloud Console 中搜索 Google App Engine 日志?

这篇博文建议您只需键入regex:my.*query即可进行搜索,但这在日志控制台中似乎不起作用。 当我这样做时,它会自动更正为以下查询text:regex:my.*query

虽然,我来晚了,但你可以在 stackdriver 中完成。

=           # equal
!=          # not equal
> < >= <=   # numeric ordering
:           # "has" matches any substring in the log entry field

如果您想在textPayload中找到所有带有 500 的 GET 响应,则需要添加过滤器:

textPayload:"500"

要搜索其中包含central1的所有zone

resource.labels.zone:"-central1-"

而已。 您可以参考此链接以获取更多高级过滤器

现在 Google Cloud Operations Logging 支持正则表达式。 此功能发布于 2020-09-17,请参阅https://cloud.google.com/blog/products/management-tools/cloud-logging-gets-regular-expression-support 您的正则表达式以这种格式工作:

textPayload=~"my.*query"

您可以使用运算符=~查询正则表达式匹配项,使用运算符!~查询不匹配项:

=~          # regular expression search for a pattern
!~          # regular expression search not for a pattern

有关语法和示例的更多信息,请参阅 Google Cloud Operations Suite 日志记录查询语言参考: https ://cloud.google.com/logging/docs/view/logging-query-language#regular-expressions

Stackdriver Logging 产品目前不支持正则表达式。 它最初在一段时间前得到支持(正如您在博客文章中看到的那样),但我们发现它很少被使用,并且其中许多用途是用于简单的模式,这些模式具有更简单的解决方案,而没有正则表达式的性能和其他损失。

在基本过滤器模式(默认)中,文本搜索自动不区分大小写并匹配字段值的子字符串,您可以使用“..”表示数值范围。 在高级过滤器模式下,“has”运算符通过在过滤器表达式中使用:而不是=来完成相同的事情,例如path.to.field: "value" (另请参阅: 编写有效的高级过滤器

如果这些操作员没有实现您的目标,请考虑通过 Cloud Console 右上角的对话气泡按钮提交反馈,提供您的用例的详细信息以及您最终想要实现的目标,我们会将这些反馈合并为我们规划产品的未来方向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM