AWS CloudWatch日志服务不支持在同一个指标中同时使用“OR”和“Exclude”条件。如果需要同时使用这两种条件,可以考虑拆分成两个指标进行筛选。
例如,下面是使用CloudFormation创建CloudWatch日志过滤器的示例。 在下面的示例中,我们可以将使用“OR”条件的筛选器与使用“Exclude”条件的筛选器分开。
Resources:
SampleLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: /aws/lambda/sample
SampleLogFilter1:
Type: AWS::Logs::MetricFilter
Properties:
FilterName: sampleFilter1
LogGroupName: /aws/lambda/sample
FilterPattern: '[Message1, Message2, Message3]'
MetricTransformations:
- MetricName: SampleMetric1
MetricValue: '1'
SampleLogFilter2:
Type: AWS::Logs::MetricFilter
Properties:
FilterName: sampleFilter2
LogGroupName: /aws/lambda/sample
FilterPattern: '[Message4]'
MetricTransformations:
- MetricName: SampleMetric2
MetricValue: '1'
ExcludeMatchedLogEvents: true
在该示例中,我们使用了两个不同的筛选器。SampleLogFilter1使用“OR”条件筛选日志事件,SampleLogFilter2使用“Exclude”条件筛选日志事件。这两个筛选器都将日志事件转换为指标。我们可以使用这些指标来创建CloudWatch仪表板,以便将日志事件图形化地表示出来。