我在 AWS 上有一个 ubuntu 实例,当磁盘空间消耗 80% 时我想要一封电子邮件。我检查过云手表,但没有这样的选项来监控磁盘空间。只有一个选项是自定义指标https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html但我不确定它是否会发出电子邮件警报。请指导我同样的事情。
答案1
更新:
1. 创建实例并附加 IAM 角色:
AmazonEC2RoleforSSM
CloudWatchAgentAdminPolicy
CloudWatchAgentServerPolicy
AmazonSSMManagedInstanceCore
2.安装 CloudWatch 代理::在运行命令中,选择AWS-ConfigureAWSPackage将其安装在所需的目标上。
3.运行 CloudWatch 代理向导:输入以下内容启动 CloudWatch 代理配置向导:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
在某一阶段,向导将提示您选择所需的默认预定义指标,以及是否要将配置存储在 SSM 参数存储中。我选择了先进的包括所有指标和是的 存储在配置中。完成后,整个配置将在 AWS Systems Manager 的参数存储中可用。我的配置片段有:
"disk": {
"measurement": [
"used_percent",
"inodes_free"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
4.启动CloudWatch代理 有 2 种方式启动代理:来自运行命令 b.从带有 Systems Manager 参数存储的命令行。
运行命令由于某种原因失败,但命令行有效
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c ssm:configuration-parameter-store-name -s
C。如果您遇到任何错误没有收集可用的包裹,安装必要的包以重新启动代理。
对于亚马逊Linux:
sudo amazon-linux-extras install epel
sudo yum install collectd
对于Ubuntu:
sudo apt-get install collectd collectd-utils
5.CloudWatch控制台
创建一个仪表板来监控实例指标,该仪表板现在可通过 CWAgent 作为自定义命名空间使用。您还可以设置必要的警报来通知/电子邮件收件人。
CloudWatch 自定义指标
上一篇文章
您可能需要部署安装在实例上的 Systems Manager (SSM) 代理来监视磁盘空间使用情况并发出警报。为此,您需要在 IAM 中为 EC2 实例创建一个角色,以将数据发送到 CloudWatch。完成后,您可以使用 JSON 脚本从 SSM 的运行命令中监控磁盘空间。