为EC2安装CloudWatch Agent自定义监控指标

2022-02-28 10:00




Amazon CloudWatch是一项针对AWS上运行的应用程序的监控服务。使用Amazon CloudWatch可以收集和跟中指标、收集和监控日志文件以及设置警报。Amazon CloudWatch可以监控各种AWS资源,例如Amazon EC2实例、Amazon DynamoDB表、Amazon RDS数据库实例、应用程序和服务生成的自定义指标以及应用程序生成的所有日志文件。

一起了解 CloudWatch!

随着业务需求越来越大,客户需要进步详细的监控某些资源的使用情况,比如需要监控EC2内存的总量和使用情况进行监控,默认情况下,CloudWatch是没有对这些指标进行监控的,因为内存属于用户操作系统内的信息,在AWS的产品设计中,所有系统内的信息都属于用户的私有财产和信息。所以默认情况下,AWS的CloudWatch不收集相关信息。但在实际使用的项目中,以内存监控为代表的系统、应用层面的监控是系统监控中非常重要的一环,所以AWS CloudWatch Agent来帮助用户监控EC2实例中的更多的系统层面的信息,如:内存、CPU、Disk、Network等信息。同时通过CloudWatch Agent还可以对系统中的各种日志进行统一的收集并存放至CloudWatch Log中,方便用户后续的分析等操作。

本文档主要指引如何为EC2实例安装cloudwatch agent自定义监控指标,监控内存使用率、磁盘使用率等,如需要监控更多系统信息,请联系我们


前期准备

1. 创建好自己的VPC;

2. 启动一台EC2;

实验步骤

1. 在EC2附加角色;

2. 下载安装以及配置CloudWatch Agent;

3. 登录控制台,查看监控情况。


为EC2附加具有相应策略的角色


01

登录到AWS 控制台 创建IAM角色

· 登入亚马逊控制台,点击上方Services,搜索IAM

如下图 红圈处1

1.左边导航栏选中"角色" - 如下图 红圈1

2.点击上方“创建角色” - 如下图 红圈2

3.在"可信实体类型"选择"亚马逊服务"

如下图 红圈处1

4.选择"EC2"点击 - 如下图 红圈2

5.点击右下角"下一步" - 如下图 红圈3

6.在红框内搜索策略Cloudwatchagent

7.选择添加CloudWatchAgentServerPolicyCloudWatchAgentAdminPolicy策略,点击"下一步"

8.给角色起一个名称,这里是"Ec2-Cloudwatchagent" - 如下图 红圈1

9.点击"创建角色" - 如下图 红圈2

角色创建完成


02

将该角色附加到EC2

1.在控制台打开EC2服务,选择右边"实例"

如下图 红圈1

2.选择需要监控的EC2实例 - 如下图 红圈2

3.点击操作按钮 - 如下图 红圈3

4.点击"安全" - 如下图 红圈1

5.点击"修改IAM角色"选择 - 如下图 红圈2

6.选择刚才创建的IAM角色,点击保存,这样就把有相关权限的角色附加到EC2实例,前期准备工作完成。


安装CloudWatchAgent代理


01

登录到EC2实例,

安装和配置CloudWatchAgent

1.输入命令sudo yum update,更新实例

如下图 红圈处1

2.输入以下命令,下载cloudwatch代理软件包

如下图 红圈处2

wegt - https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

3.输入命令 sudo rpm -U ./amazon-cloudwatch-agent.rpm安装软件包。

4.输入以下命令进入到目录

cd /opt/aws/amazon-cloudwatch-agent/etc/

5.手动创建或编辑cloudwatch代理配置文件

sudo vim amazon-cloudwatch-agent.json

6.编辑Cloudwatch代理配置文件(配置文件链接已附上,需要请在最下面提取),其中“metrics”模块为监控指标

7.保存并推出。

8.依次输入红圈处的命令,将刚创建的json文件复制移动到doc目录下,并将原先doc目录下"amazon-cloudwatch-agent-schema.json"文件删除,重命名amazon-cloudwatch-agent.json为amazon-cloudwatch-agent-schema.json

9.输入以下命令,启动CloudWatchAgent

如下图 红圈处

sudo/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl-a fetch-config-m ec2-s-c file:/opt/aws/amazon-cloudwatch-agent/doc/amazon-cloudwatch-agent-schema.json

10.输入以下命令,检查是否启动成功

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

11.看到"status":"running",表示启动成功

如下图 红圈处


查看监控情况


01

登录cloudwatch控制台,查看监控指标

1.先打开EC2服务,复制EC2的实例ID

2.搜索服务cloudwatch   如图红圈1处

3.在打开的页面点击“全部指标” 如图红圈2处

4.在“指标”信息栏搜索框处,输入刚才的EC2实例ID 如图红圈处3


5.到这里,我们就可以根据需要,选择查看各指标监控情况。


总结


1. 确保为EC2实例附加的角色附加了CloudWatchAgentServerPolicyh和CloudWatchAgentAdminPolicy策略。

2. 下载安装的代理软件包使用官网最新的下载链接-官方安装参考链接:

https://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html

https://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html



希望云小编的教程有帮助到你!

如果有技术性的问题,欢迎联系我们解决

• end •