AWS CloudWatch Agent 的配置和使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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, 这样统一推送的时候可以直接指定这个文件进行配置。

技术图片

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

安装CloudWatchAgent

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

技术图片

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

技术图片

输入安装的Name和Version

技术图片

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

技术图片

生成配置文件

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

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

技术图片

生成的配置文件

技术图片

配置CloudwatchAgent

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

技术图片

指定配置文件的名字
技术图片

执行 run 操作

技术图片

查看结果

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

技术图片

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

技术图片

以上是关于AWS CloudWatch Agent 的配置和使用的主要内容,如果未能解决你的问题,请参考以下文章

AWS CloudWatch Logs监控Apache日志文件

Prometheus Cloudwatch 导出器配置

地形导入 aws_cloudwatch_log_stream

为 AWS cloudwatch 的 Micrometer 配置 SpringBoot 2 应用程序

将现有 AWS CloudWatch 警报导出到 CloudFormation 模板

是否可以确定在 cloudwatch aws 上发送警报的时间?