AWS CloudWatch Agent 的配置和使用

背景介绍

AWS的Cloudwatch 可以很方便的监控各种数据,但是他的缺陷在于默认情况下他只能监控Hypervisor 的数据,而不会监控客户端OS级别的数据。传统的解决方式,比如我们需要监控内存,硬盘使用状况,或者其他自定义的数据,我们需要自己写个脚本,发送到对应的Cloudwatch API。这种方式相对而言,不算太友好,AWS提供了一个官方的解决方案,叫做Cloudwatch agent(https://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html) ,安装之后,使用向导生成对应的配置文件,就可以实现手写脚本的功能了。

操作步骤

配置IAM Role

下面看看如何实现的。豆子所有的部署都是通过SSM实现的,这样不需要一台台的手动去配置。因此第一步需要配置IAM Role,确保EC2实例可以访问SSM。 具体步骤参考 https://blog.51cto.com/beanxyz/2316695

除此之外,我们还需要权限安装 CloudwatchAgent,以及权限访问 SSM的 Parameter Store; 后者是为了把配置文件写入Parameter Store, 这样统一推送的时候可以直接指定这个文件进行配置。

AWS CloudWatch Agent 的配置和使用

配置好IAM Role的 权限之后,记得分配给EC2实例。

安装CloudWatchAgent

然后回到SSM,在Managed Instances 里面 确保所有的EC2 实例都安装了最新的SSM Agent,如果没有,可以点击 Agent auto update 进行升级

AWS CloudWatch Agent 的配置和使用

在Run Command 执行下列操作,统一安装 CloudWatchAgent

AWS CloudWatch Agent 的配置和使用

输入安装的Name和Version

AWS CloudWatch Agent 的配置和使用

等待1分钟之后就成功下载安装了

AWS CloudWatch Agent 的配置和使用

生成配置文件

接下来,我们需要生成配置文件。

在一台安装了CloudwatchAgent的服务器上 打开配置向导,根据自己的需求进行选择,选择的最后他会询问是否保存生成的config.json文件到 parameter store,选择yes,然后输入一个文件名字即可

AWS CloudWatch Agent 的配置和使用

生成的配置文件

AWS CloudWatch Agent 的配置和使用

配置CloudwatchAgent

接下来再次打开Run Command, 选择 AmazonCloudWatch-ManageAgent

AWS CloudWatch Agent 的配置和使用

指定配置文件的名字
AWS CloudWatch Agent 的配置和使用

执行 run 操作

AWS CloudWatch Agent 的配置和使用

查看结果

他会在Cloudwatch 里面自动生成一个叫做 CWAgent的名称空间

AWS CloudWatch Agent 的配置和使用

等待片刻之后,就可以查看对应的内存,CPU和磁盘甚至自定义的数据使用情况了

AWS CloudWatch Agent 的配置和使用

aws

相关推荐