如何在Google Cloud Logging中按正则模式匹配字段过滤日志
Google Cloud Logging过滤高基数动态字段日志方案
该需求可以直接实现,你可以通过Google Cloud Logging的正则匹配语法在Sink同步规则中配置过滤条件,直接丢弃符合特征的日志条目,避免同步到BigQuery后触发表列数上限。
可用过滤规则配置
你可以直接在日志Sink的过滤条件中使用以下语句:
NOT jsonPayload.params =~ /.*(xssdetected|metadata_google_internal|randmprmz).*/
规则说明:
=~是Google Cloud Logging的正则匹配运算符,后面使用斜杠包裹正则表达式- 该规则会匹配所有
jsonPayload.params结构体下任意字段名包含指定关键词的日志条目,前面加上NOT即可排除这类条目,不会进入同步流程
可选替代方案(不丢弃日志)
如果你不想直接丢弃这类扫描日志,仅需要解决BigQuery列数超限问题,还可以在BigQuery同步Sink的配置中开启useJSONSchema参数,将整个jsonPayload.params结构体存储为单个JSON类型字段,不需要自动展开为多列,也可以规避列数上限问题。
内容的提问来源于stack exchange,提问作者jwadsack
相关产品推荐
相关产品推荐

