我正在使用CDK 2制作度量过滤器。
我想在fargate
的对数中找到error
或Error
或ERROR
的滤波器。
这些是我的脚本。
new logs.MetricFilter(this, 'MetricFilter', {
logGroup: props!.adminLogGroup,
metricNamespace: 'fargate-metrics',
metricName: 'fargate-error',
filterPattern: logs.FilterPattern.exists('{?error ?Error ?ERROR}'),
metricValue: "1",
});
我尝试这个filterpattern,但是它返回Invalid metric filter pattern
。
您似乎使用了错误的方法来创建模式。
FilterPattern.exists
检查JSON字段是否存在:
如果字段存在,匹配的JSON日志模式。
这是一个可读的方便包装'field = *'
如果您只是想检查字符串日志中是否存在这些字符串,请使用FilterPattern.anyTerm
:
如果给定的字符串出现在事件中,则匹配的日志模式。
logs.FilterPattern.anyTerm('error', 'Error', 'ERROR')