使用CloudWatch Agent和CDK监视EBS卷上的距离

问题描述

我正在尝试建立一种方法来监视属于AutoScaling组的实例的磁盘使用情况,并在与这些实例相关联的卷几乎已满时添加一个警报。

由于似乎亚马逊通常没有提供任何指标来执行此操作,所以我诉诸使用CloudWatch Agent来获得所需的信息。到目前为止,我可以使用CloudWatch控制台为所需的指标创建图形和警报。

我的问题是如何使用CDK自动化一切。如何在不事先知道实例ID的情况下自动为每个实例创建指标?这个问题有解决方案吗?

解决方法

您可以通过EC2用户数据安装和配置CloudWatch代理,并且自动伸缩组使用启动模板来启动EC2实例。所有这些事情都可以通过AWS CDK完成。

this open source project中有一个示例供您参考。

,

您可以采用的另一种方法是使用AWS Systems Manager。本质上,您为实例安装了SSM代理,并创建了一个SSM文档(认为是Shell / Python脚本)来运行设置脚本/自动化。

然后,您创建一个州管理者协会,并根据EC2标签(例如, Application=MyAppTeam=MyTeam。这样,您不必提供任何资源ID,只需提供可以扩展多个实例和将来替换实例的标记键值对即可。您可以安排它在特定时间(cron)或特定频率(速率)运行以强制执行状态。