【问题标题】:Custom metrics (Disk-space-utilization) is missing on the AWS consoleAWS 控制台上缺少自定义指标(磁盘空间利用率)
【发布时间】:2025-12-20 14:10:12
【问题描述】:

我想为磁盘空间利用率创建一个 cloudwatch 警报。 我已经关注了下面的 AWS 文档

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html

它正在我的实例上创建 cron,我也检查了我的系统日志。

9 月 22 日 12:20:01 ip-#### CRON[13921]: (ubuntu) CMD (~/volumeAlarm/aws-scripts-mon/mon-put-instance-data.pl --disk-space-util --disk-space-avail --disk-space-used --disk-path=/ --from-cron)

Sep 22 12:20:13 ip-#### CRON[13920]: (ubuntu) MAIL(邮寄 1 字节的输出;但状态为 0x004b,#012)

也手动运行命令,

./mon-put-instance-data.pl --disk-space-util --disk-space-avail --disk-space-used --disk-path=/

显示结果,

在 CloudWatchClient.pm 第 167 行关闭文件句柄 MDATA 上的 print()。

已成功向 CloudWatch 报告指标。参考编号:####

但是aws控制台中没有指标,所以我可以设置警报,

请帮忙,如果有人解决了这个问题。

【问题讨论】:

  • 您是否确保您的 ec2 实例对“cloudwatch:PutMetricData”操作具有正确的权限?
  • 您在 AWS 控制台中查看的区域是否正确?是否与实例在同一区域?
  • 是的,我正在查看同一区域,因为我检查了与我正在查看的同一实例 ID 相同的指标信息@helloV
  • 如何检查操作“cloudwatch:PutMetricData”的权限? @mostafazh
  • 在入门部分,docs.aws.amazon.com/AWSEC2/latest/UserGuide/… ... 您是在 awscreds.conf 文件中设置值 AWSAccessKeyId 和 AWSSecretKey 还是使用了 IAM 角色?

标签: amazon-web-services amazon-cloudwatch


【解决方案1】:

CloudWatch 脚本将获取实例的元数据并将其写入 本地文件 /var/tmp/aws-mon/instance-id,如果文件或文件夹有 脚本无法写入文件的权限不正确 /var/tmp/aws-mon/instance-id,那么它可能会抛出类似“print() on 在 CloudWatchClient.pm 第 167 行关闭文件句柄 MDATA”。抱歉 做出假设。一种可能的情况是:root 用户执行了 mon-get-instance-stats.pl 或 mon-put-instance-data.pl 脚本 最初,脚本已就地生成文件/文件夹, 然后root用户切换回不同的用户并执行 CloudWatch 脚本再次出现此错误。要解决此问题,您需要 删除文件夹 /var/tmp/aws-mon/,然后重新执行 CloudWatch 重新生成文件夹和文件的脚本。

这是我从 AWS 支持中获得的关于遇到相同问题的支持答案,它可能也会对您有所帮助。还要检查 EC2 实例的 AWSAccessKey。

【讨论】:

    最近更新 更多