%20%E6%97%A5%E5%BF%97%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E5%99%A8%E6%9F%A5%E8%AF%A2%E4%B8%AD%E7%9A%84%E5%B1%9E%E6%80%A7.png)
使用正则表达式 (RegEx) 作为过滤器在 GCP 日志资源管理器中编写查询:
我需要过滤 query_name 中包含单词“stat”的任何字符串。
尝试使用 SQL 方式和通配符:
logName="projects/my_project/logs/my_env-production"
labels.query_name RLIKE "stat"
logName="projects/my_project/logs/my_env-production"
labels.query_name LIKE "%stat%"
logName="projects/my_project/logs/my_env-production"
labels.query_name="%stat%"
而 RegEx 只是为了测试“.”是否为任意字母:
logName="projects/my_project/logs/my_env-production"
labels.query_name LIKE ".stat."
输出No data found
在左侧窗格中,输出列表为空。
答案1
如果您想过滤 RegEx,则需要使用与基于日志的指标或 Grafana 中相同的技巧。
logName="projects/my_project/logs/my_env-production"
labels.query_name=~".stat."
或者采取:
labels.query_name!~".stat."
以避免使用 RegEx。
(如果您想要没有 RegEx 的,它是“=”和“!=”,这是另一种模式,这就是为什么您可能无法自己找到 RegEx)。