如何为自定义 cloudwatch 指标使用多个单独的维度?
Posted
技术标签:
【中文标题】如何为自定义 cloudwatch 指标使用多个单独的维度?【英文标题】:How to use multiple separate dimensions for custom cloudwatch metrics? 【发布时间】:2019-10-21 09:36:31 【问题描述】:有了这个,我们可以为我们的自定义指标配置维度。
"metrics":
"append_dimensions":
"AutoScalingGroupName":"$!aws:AutoScalingGroupName",
"ImageId":"$!aws:ImageId",
"InstanceId":"$!aws:InstanceId",
"InstanceType":"$!aws:InstanceType"
,
"metrics_collected":
"mem":
"measurement":[
"mem_used_percent"
]
,
"swap":
"measurement":[
"swap_used_percent"
]
这给出了类似的东西:
现在我尝试为维度自动缩放组创建警报:
MemoryAlarmHigh:
Type: AWS::CloudWatch::Alarm
Properties:
EvaluationPeriods: '1'
Statistic: Average
Threshold: '70'
AlarmDescription: Go in Alarm is memory is higher than 70% for 60 seconds
Period: '60'
AlarmActions:
- Ref: ScaleUpPolicy
Namespace: CWAgent
Dimensions:
- Name: AutoScalingGroupName
Value: !Ref ASG
ComparisonOperator: GreaterThanThreshold
MetricName: xxx
这不起作用。我得到的数据不足。 现在当我使用
"metrics":
"append_dimensions":
"AutoScalingGroupName": "$!aws:AutoScalingGroupName"
,
"metrics_collected":
"mem":
"measurement": [
"mem_used_percent"
]
我得到:
警报现在起作用了。但我想使用多个维度,但分别使用它们(如在 EC2 命名空间中),以便我可以使用我的警报。
我该怎么做?
【问题讨论】:
【参考方案1】:尝试设置aggregation_dimensions
。
像这样:
"metrics":
"append_dimensions":
"AutoScalingGroupName":"$!aws:AutoScalingGroupName",
"ImageId":"$!aws:ImageId",
"InstanceId":"$!aws:InstanceId",
"InstanceType":"$!aws:InstanceType"
,
"aggregation_dimensions" : [["AutoScalingGroupName"]],
"metrics_collected":
"mem":
"measurement":[
"mem_used_percent"
]
,
"swap":
"measurement":[
"swap_used_percent"
]
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html#CloudWatch-Agent-Configuration-File-Metricssection
【讨论】:
以上是关于如何为自定义 cloudwatch 指标使用多个单独的维度?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 CodeDeploy Blue/Green 为自定义指标创建 CloudWatch 警报?
AWS cloudwatch 自定义指标作为弹性 beantalk 自动缩放触发器
AWS Cloudwatch get-metric-statistics 命令返回的是指标名称,而不是自定义 cloudwatch 指标的值
我可以在 Cloudwatch 仪表板的同一轴上为一个指标绘制多个统计数据吗?