在 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
。
设置正确吗?
`
仅当系统出现问题时,错误日志才会发布到 CloudWatch。如果 CloudWatch 未收到任何错误日志,CloudWatch 警报将保持在
Insufficient data
状态,这是其默认行为。
如果您更愿意将丢失的数据点视为系统的
OK
状态,则需要指示 CloudWatch 警报将其视为这样。
要配置此功能,您可以利用
treatMissingData
字段来指定如何处理丢失的数据点。您可以选择以下任一选项:BREACHING
、NOT_BREACHING
、IGNORE
或 MISSING
。但是,就您而言,NOT_BREACHING 是更合适的选择。
有关如何使用
treatMissingData
字段的更多信息,请参阅 this 页面。