我们正在从我们的服务发布自定义 Cloudwatch 指标,并希望在指标名称的值超出任何维度的阈值时设置警报。以下是我们发布的指标:
我们想设置一个警报,以便Fault
跨任何维度将其置于Alarm
状态。
可以看到,维度Operation的值是不同的。目前,我们只有这 3 个操作,所以我知道我们可以使用度量数学来设置此警报。但我相信我们会达到一个持续增长的地步。
我可以使用 SEARCH 表达式 + 跨搜索表达式聚合来为其生成图表,但它不允许我创建一个警报说 The expression for an alarm must include at least one metric.
有没有其他方法可以实现这一目标?
amazon-cloudwatch amazon-cloudwatch-metrics cloudwatch-alarms
我观察到 15 分钟内需要 15 个数据点才能触发警报并开始缩小规模,但我找不到更改或调整此行为的选项。
我们可以改变这种行为,还是必须定义另一个扩展策略来进行扩展?
看起来它是针对 CPU 利用率的目标跟踪扩展策略的默认设置
这是真的?
amazon-ec2 amazon-web-services autoscaling amazon-cloudwatch cloudwatch-alarms
我想将 CloudWatch 警报配置为:
我已将自定义 CloudWatch ApplicationRequestsTotal 指标配置为每 60 秒为我的服务发出一次。
我已将警报配置为:
{
"MetricAlarms": [
{
"AlarmName": "radio-silence-alarm",
"AlarmDescription": "Alarm if 0 or less requests are received for 1 consecutive period(s) of 30 minutes.",
"ActionsEnabled": true,
"OKActions": [],
"InsufficientDataActions": [],
"MetricName": "ApplicationRequestsTotal",
"Namespace": "AWS/ElasticBeanstalk",
"Statistic": "Sum",
"Dimensions": [
{
"Name": "EnvironmentName",
"Value": "service-environment"
}
],
"Period": 1800,
"EvaluationPeriods": 1,
"Threshold": 0.0,
"ComparisonOperator": "LessThanOrEqualToThreshold",
"TreatMissingData": "missing"
}
],
"CompositeAlarms": []
}
Run Code Online (Sandbox Code Playgroud)
我设置了很多这样的警报,每个警报似乎都是: …
我有一个具有以下配置的 AWS CloudWatch 警报:
Type
Metric alarm
State
OK
Threshold
METRIC_NAME <= 0 for 1 datapoints within 1 day
Last change
2022-04-14 23:30:54
Actions
Actions enabled
Metric name
METRIC_NAME
Statistic
Average
Period
1 day
Datapoints to alarm
1 out of 1
Missing data treatment
Treat missing data as bad (breaching threshold)
Percentiles with low samples
evaluate
Run Code Online (Sandbox Code Playgroud)
在过去的几天里,我们一直缺少该指标的数据,导致图表如下所示:
我的理解是,鉴于上述配置以及过去 3 天的丢失数据,该警报应该已触发。然而,事实并非如此。基于 AWS 文档:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html,一个为期 1 天的警报,1 个数据点中的 1 个要警报,以及缺失的数据breaching
处理从 OK -> ALARM 更改警报状态。我在这里缺少一个关键组件吗?谢谢!
我在 CloudWatch 警报状态更改上触发 Cloudwatch 规则时遇到问题。这是规则的事件模式。它不会向 SNS 发送状态更改消息。
{
"detail-type": [
"CloudWatch Alarm State Change"
],
"resources": [
!Sub "arn:aws:cloudwatch:${AWS:Region}:${AWS:AccountId}:alarm:Admin dead"
],
"source": [
"aws.cloudwatch"
],
"detail": {
"state": [
"ALARM"
]
}
}
Run Code Online (Sandbox Code Playgroud)
警报本身正常工作并并行向 SNS 发送消息。另外,如果我删除这部分:
"detail": {
"state": [
"ALARM"
]
}
Run Code Online (Sandbox Code Playgroud)
那么该规则对于每个状态变化都可以正常工作。但我只需要将其更改为“警报中”(如用户界面中显示的那样)。
感谢您的任何建议
rules amazon-web-services amazon-sns amazon-cloudwatch cloudwatch-alarms
我试图在服务器列表中设置一些警报,我在本地定义了我的服务器,如下所示:
locals {
my_list = [
"server1",
"server2"
]
}
Run Code Online (Sandbox Code Playgroud)
然后我将我的 cloudwatch 警报定义如下:(这是一个这样的警报)
resource "aws_cloudwatch_metric_alarm" "ec2-high-cpu-warning" {
for_each = toset(local.my_list)
alarm_name = "ec2-high-cpu-warning-for-${each.key}"
comparison_operator = "GreaterThanThreshold"
evaluation_periods = "1"
metric_name = "CPUUtilization"
namespace = "AWS/EC2"
dimensions = {
instanceid = values(data.aws_instances.my_instances)[*].ids
instancename = local.my_list
}
period = "60"
statistic = "Average"
threshold = "11"
alarm_description = "This warning is for high cpu utilization for ${each.key}"
actions_enabled = true
alarm_actions = [data.aws_sns_topic.my_sns.arn]
insufficient_data_actions = []
treat_missing_data = "notBreaching"
}
Run Code Online (Sandbox Code Playgroud)
我还将数据源定义如下:
data …
Run Code Online (Sandbox Code Playgroud)