Gol*_*den 5 amazon-ec2 amazon-web-services amazon-cloudwatch
使用Cloudwatch,您可以通过多种标准监控您的EC2实例,例如网络使用情况,CPU使用率等等......
不幸的是,没有内存消耗指标.首先,出于好奇,我想知道,为什么?任何人都可以解释为什么可以监控CPU使用率,而不是内存使用情况?至少在我看来,这并不明显.
然后,我的实际问题:好的,鉴于Cloudwatch不允许监控EC2实例的内存使用情况 - 还有什么选择?如果例如正在使用> 80%的实例内存,我该如何设置警报?
小智 10
默认情况下,AWS Ec2 不提供内存指标。所以我们要单独安装cloud watch代理然后获取metrics
脚步:
从 s3 下载云手表代理
sudo wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
安装云观察代理
sudo rpm -U ./amazon-cloudwatch-agent.rpm
我们需要编写一个配置文件,在其中指定需要放置的指标。
sudo vi /opt/aws/amazon-cloudwatch-agent/bin/config.json
你需要将其插入到配置文件中
{
"metrics": {
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 30
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后指定指标后我们只需要启动云观察代理
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s
您可以去云观察页面测试一下该指标是否到来
查看:
Cloudwatch 控制台 --> 所有指标 --> 自定义命名空间 --> CW Agent --> 主机 --> 实例服务器的 ip
现在您可以查看内存使用情况并监控uage
内存和磁盘特定统计信息要求AWS在操作系统级别而不是主机级别进行监视,因此这是默认情况下将其保留的原因.它可能会在某个时候添加,但由于它已经在愿望清单上大约7年,我们可以假设它是一个非常低优先级的项目.
监视内存使用情况的推荐方法是在实例上使用自己的监视脚本创建自定义Cloudwatch指标.AWS已发布有关如何使用一组(不支持的)脚本在Linux实例上实现此目的的文档.
在您的实例发布自定义指标后,您将能够在CloudWatch中将警报附加到它们.
| 归档时间: |
|
| 查看次数: |
1954 次 |
| 最近记录: |