Google cloud platform 基于GCP日志的指标不';不能使用正则表达式过滤器

Google cloud platform 基于GCP日志的指标不';不能使用正则表达式过滤器,google-cloud-platform,stackdriver,google-cloud-stackdriver,google-cloud-monitoring,Google Cloud Platform,Stackdriver,Google Cloud Stackdriver,Google Cloud Monitoring,我试图在GCP中创建一个基于日志的度量,用于警报规则(StackDriver,现在是GCP的一部分)。源是HTTPS(L7)LB日志。经过大量的尝试和错误,我发现如果我使用基于正则表达式的过滤器,我的度量就不起作用了(注意:在下面描述的更改之后,基于正则表达式的标签提取是有效的) 具体来说,如果我的过滤器如下所示: httpRequest.status=403 httpRequest.requestMethod="GET" httpRequest.requestUrl=~"^.*some/reg

我试图在GCP中创建一个基于日志的度量,用于警报规则(StackDriver,现在是GCP的一部分)。源是HTTPS(L7)LB日志。经过大量的尝试和错误,我发现如果我使用基于正则表达式的过滤器,我的度量就不起作用了(注意:在下面描述的更改之后,基于正则表达式的标签提取是有效的)

具体来说,如果我的过滤器如下所示:

httpRequest.status=403
httpRequest.requestMethod="GET"
httpRequest.requestUrl=~"^.*some/regex/pattern/.*$"
单击“提交过滤器”后,我确实会看到过滤后的日志条目,当我设置基于regex的标签提取器时,我也会看到示例记录/标签,但在metrics explorer中,时间序列中从来没有任何数据。但是,如果我将筛选器更改为进行纯全文子字符串匹配,即

httpRequest.status=403
httpRequest.requestMethod="GET"
"some/substring/match"
它确实有效——我确实在度量资源管理器中看到了时间序列

请注意,这不是时间问题,我只是不够耐心。通过在两个过滤器之间切换,我可以可靠地使其工作(或不工作)

这对我来说是个问题,因为我确实需要请求URL上的正则表达式匹配;子字符串匹配不够复杂,另外,我想确保只匹配请求URL,而不是referer。虽然我基本上可以使用更粗糙的过滤器(即使这会破坏度量),但这会导致我的警报规则中出现另一个问题,因为我无法过滤出不匹配的内容——提取的标签没有值,甚至
label!=~[[:space:][]*
无法在警报级别筛选出不匹配项,因为缺少的标签值明显不同于空标签值。对于我来说,由于日志过滤器太粗糙而导致的FP警报是非常重要的

如果这是预期的行为,我希望有一个指向突出显示此限制的文档的链接。

您好,请检查<代码>日志查看器不支持正则表达式搜索,并且在基本或高级查询界面中都没有特殊的通配符,如*或?。