默认情况下,Amazon EC2 会将一组与实例相关的指标发送到 CloudWatch。比如 CPU 利用率、磁盘读取和写入指标以及 NetworkIn 和 NetworkOut 等指标。但是,EC2 不会提供与操作级别内存使用情况或磁盘使用量指标相关的指标。如果实在需要这些信息,就需要安装统一的 CloudWatch 代理。
重要提示:自定义指标将按照其存储量和 API 使用量收费。
创建IAM角色
创建 IAM 角色以支持代理从服务器收集指标,然后将此 IAM 角色附加到EC2 实例上。
IAM->角色
增加CloudWatchAgentAdminPolicy和AmazonEC2RoleforSSM两个权限,并最终给角色命名为CloudWatchAgentAdminPolicy。
启动EC2,关联相关角色
把CloudWatchAgentAdminPolicy角色关联到EC2上。
安装代理
EC2->实例
连接到EC2之后,执行以下命令:
sudo yum install amazon-cloudwatch-agent
sudo yum update -y amazon-ssm-agent
sudo yum -y install collectd
后续启动过程中可能会碰到open /usr/share/collectd/types.db: no such file or directory
这样的问题,所以建议执行以下命令:
sudo mkdir -p /usr/share/collectd/
sudo touch /usr/share/collectd/types.db
检查代理安装情况
创建代理配置文件
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
基本上都是默认的即可,可以根据实际情况选择
日志的路径选择/var/log/messages
最终,命名为AmazonCloudWatch-linuxsample
检查代理配置文件
路径检查
/opt/aws/amazon-cloudwatch-agent/bin/config.json
SystemManager->Parameter Store
启动代理服务
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c ssm:AmazonCloudWatch-linuxsample -s
ps aux | grep cloudwatch-agent
查看监控信息
Cloudwatch->Metrics
内存信息可以监控了~
参考文档
https://aws.amazon.com/cn/premiumsupport/knowledge-center/cloudwatch-memory-metrics-ec2/
https://aws.amazon.com/cn/blogs/china/cloudwatch-agent-in-cloudwatch-ec2-rom/
标签:CloudWatch,收集,sudo,aws,代理,cloudwatch,amazon,agent,EC2 From: https://blog.51cto.com/u_12153243/5950901