问题

需要监控EC2的Linux服务的内存使用情况,因为EC2默认是不会对内存进行监控的,具体如下图:
ec2默认监控图

思路

使用CloudWatch对EC2的进行监控,主要流程如下:

  • 1.为ec2的管理用户授予相关权限;
  • 2.为ec2的Linux机器安装CloudWatch的代理客户端程序;
  • 3.启动代理
  • 3.在CloudWatch的页面查看效果

解决

CloudWatchAgentServerPolicy权限

为EC2的IAM角色授予CloudWatchAgentServerPolicy权限,具体操作如下:
找到IAM角色
设置权限CloudWatchAgentServerPolicy
设置权限CloudWatchAgentServerPolicy效果如上图。

amazon-cloudwatch-agent代理

wget https://s3.amazonaws.com/amazoncloudwatch-agent/redhat/amd64/latest/amazon-cloudwatch-agent.rpm
sudo rpm -U ./amazon-cloudwatch-agent.rpm

这里需要根据EC2的服务器CPU架构和操作系统发行版来进行选择代理安装包。

启动代理

# 启动代理程序
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a start
# 查看代理客户端程序状态
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
# 关闭代理
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop
# 查看代理详情状态
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a fetch-config

CW页面查看效果

内存百分比效果

参考

Logo

更多推荐