在日志过滤器中查找错误的正确设置

问题描述 投票:0回答:1

在 AWS 中我有过滤器

检查日志中是否出现“错误”一词。

const adminErrorFilter = new logs.MetricFilter(this, 'admin-metric-error-filter', {
  logGroup: props!.adminLogGroup,
  metricNamespace: 'my-dev-log
  metricName: 'admin-error',
  filterPattern: logs.FilterPattern.anyTerm("error","Error","ERROR"),
  metricValue: "1",
});

然后我为这个指标设置了警报

const adminErrorAlarm = new cloudwatch.Alarm(this, 'admin-error-alarm', {
  alarmName: 'my-alarm',
  metric: adminErrorFilter.metric(),
  threshold: 1,
  evaluationPeriods: 1,
});

但是这个指标仅显示发生错误时的数据,除此之外,它不显示任何内容。因此,警报状态始终为

Insufficient data
而不是
OK

设置正确吗?

`

amazon-web-services amazon-cloudwatch aws-cdk
1个回答
0
投票

仅当系统出现问题时,错误日志才会发布到 CloudWatch。如果 CloudWatch 未收到任何错误日志,CloudWatch 警报将保持在

Insufficient data
状态,这是其默认行为。

如果您更愿意将丢失的数据点视为系统的

OK
状态,则需要指示 CloudWatch 警报将其视为这样。

要配置此功能,您可以利用

treatMissingData
字段来指定如何处理丢失的数据点。您可以选择以下任一选项:
BREACHING
NOT_BREACHING
IGNORE
MISSING
。但是,就您而言,NOT_BREACHING 是更合适的选择。

有关如何使用

treatMissingData
字段的更多信息,请参阅 this 页面。

© www.soinside.com 2019 - 2024. All rights reserved.