对于发送到 AWS cloudwatch-logs 的日志,我想创建指标过滤器,将数字字段与日志匹配模式分开。
因此,根据文档,有 [w1=word_pattern1||word_pattern2, w2, ...]
之类的表达式来获取字段(基于空格分隔符/定界符)。但我的日志有一些其他分隔符,例如 :
或 ,
。那么有没有什么方法可以使用某些正则表达式模式来解析这些字段。
示例日志模式:
日期时间:操作:文件名:状态
例如
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 的团队中工作。在撰写本文时,指标过滤器不支持正则表达式。
关于regex - 使用正则表达式过滤器作为 aws cloudwatch 日志指标过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54626930/