您好,登录后才能下订单哦!
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) ,安装之后,使用向导生成对应的配置文件,就可以实现手写脚本的功能了。
下面看看如何实现的。豆子所有的部署都是通过SSM实现的,这样不需要一台台的手动去配置。因此第一步需要配置IAM Role,确保EC2实例可以访问SSM。 具体步骤参考 https://blog.51cto.com/beanxyz/2316695
除此之外,我们还需要权限安装 CloudwatchAgent,以及权限访问 SSM的 Parameter Store; 后者是为了把配置文件写入Parameter Store, 这样统一推送的时候可以直接指定这个文件进行配置。
配置好IAM Role的 权限之后,记得分配给EC2实例。
然后回到SSM,在Managed Instances 里面 确保所有的EC2 实例都安装了最新的SSM Agent,如果没有,可以点击 Agent auto update 进行升级
在Run Command 执行下列操作,统一安装 CloudWatchAgent
输入安装的Name和Version
等待1分钟之后就成功下载安装了
接下来,我们需要生成配置文件。
在一台安装了CloudwatchAgent的服务器上 打开配置向导,根据自己的需求进行选择,选择的最后他会询问是否保存生成的config.json文件到 parameter store,选择yes,然后输入一个文件名字即可
生成的配置文件
接下来再次打开Run Command, 选择 AmazonCloudWatch-ManageAgent
指定配置文件的名字
执行 run 操作
他会在Cloudwatch 里面自动生成一个叫做 CWAgent的名称空间
等待片刻之后,就可以查看对应的内存,CPU和磁盘甚至自定义的数据使用情况了
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。