AWS Cloudwatch get-metric-statistics 命令返回的是指标名称,而不是自定义 cloudwatch 指标的值
Posted
技术标签:
【中文标题】AWS Cloudwatch get-metric-statistics 命令返回的是指标名称,而不是自定义 cloudwatch 指标的值【英文标题】:AWS Cloudwatch get-metric-statistics command is returning the metric name instead of the value for custom cloudwatch metrics 【发布时间】:2020-01-27 13:11:02 【问题描述】:我使用 cloudwatch 代理为我的一个实例在 cloudwatch 上启用了详细级别的内存监控。这些指标在 cloudwatch 控制台上可见,但是当我尝试使用 AWS CLI 查询指标时,我没有得到任何值,并且命令正在返回指标的名称。
我使用的命令是
aws cloudwatch get-metric-statistics --namespace CWAgent --metric-name mem_used --period 86400 --dimensions Name=InstanceId,Value=i-0059a97647b41a16d Name=ImageId,Value=ami-0c322300a1dd5dc79 Name=InstanceType,Value=t2.micro Name="Instance Name",Value=cloudwatch --start-time 2019-09-27T00:00:00Z --end-time 2019-09-27T23:59:59Z --statistic Minimum --unit Megabits --region us-east-1
运行此命令后,响应为 -
mem_used
【问题讨论】:
【参考方案1】:CloudWatch 代理以字节为单位 (docs) 发出 mem_used
,并且没有自动单位转换。
尝试将单位更改为字节或从命令中完全删除单位。
这里可能还有其他问题,但让我们从单元开始。
--
第二件事(来自 cmets 中的对话)是命令中使用的额外维度。最终命令将是:
aws cloudwatch get-metric-statistics \
--namespace CWAgent \
--metric-name mem_used \
--period 86400 \
--dimensions Name=InstanceId,Value=i-0059a97647b41a16d Name=ImageId,Value=ami-0c322300a1dd5dc79 Name=InstanceType,Value=t2.micro \
--start-time 2019-09-27T00:00:00Z \
--end-time 2019-09-27T23:59:59Z \
--statistic Minimum \
--region us-east-1
【讨论】:
那行不通。用字节替换单元并完全删除单元会产生相同的结果。 您能否在 CloudWatch 控制台中绘制指标图表并从源选项卡中获取源并检查命名空间、指标名称和所有维度是否匹配? 检查了源 - 看起来不错。 “视图”:“timeSeries”,“堆叠”:假,“指标”:[[“CWAgent”,“mem_used”,“InstanceId”,“i-0059a97647b41a16d”,“ImageId”,“ami-0c322300a1dd5dc79”,“ InstanceType", "t2.micro" ] ], "region": "us-east-1" 您的命令中有一个额外的维度Name="Instance Name",Value=cloudwatch
不在图形源上,请尝试删除它。以上是关于AWS Cloudwatch get-metric-statistics 命令返回的是指标名称,而不是自定义 cloudwatch 指标的值的主要内容,如果未能解决你的问题,请参考以下文章
AWS Grafana/CloudWatch - 如何按 accountId 显示账单
如何将定制的ec2 监控报表放到 aws cloudwatch 上
aws_cloudwatch_log_resource_policy 创建哪些资源?