对于发送到 AWS cloudwatch-logs 的日志,我想创建指标筛选条件,将数值字段与日志匹配模式分开。因此,根据文档,有类似表达式[w1=word_pattern1||word_pattern2, w2, ...]
来获取字段(基于空格分隔符/分隔符(。但是我的日志还有其他一些分隔符,例如:
或,
.那么有没有办法使用一些正则表达式模式解析这些字段。
示例日志模式: date-time:action:filename:status
例如
2018-11-02 12:23:00:delete-file:filename-20180709:done
或喜欢
2018-11-02 12:23:00, deleting-file filename-20180709 done
我可以使用 grok 正则表达式解析文件代码的日志行,例如:
(?<date>[w-]+ [w:]+), (?<action>w+-w+) filename-(?<file-code>d{8}) w+
但我找不到指标过滤器的任何等效项。可能吗?
我曾经在构建CloudWatch Logs的团队中工作。在撰写本文时,指标筛选器不支持正则表达式。
我正在尝试做类似的事情。您可以使用 Cloudwatch Logs Insights 解析必填字段并根据结果进行筛选,而不是使用指标筛选条件。在那里,您可以根据以下内容使用 glob 或正则表达式:
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html