首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据RDS存储大小更新cloudwatch告警阈值

根据RDS存储大小更新cloudwatch告警阈值
EN

Stack Overflow用户
提问于 2021-07-22 20:04:22
回答 2查看 168关注 0票数 0

我们有一个设置,其中RDS是通过terraform提供的,RDS的free storage space指标的cloudwatch alarm通过terraform设置为<10% total RDS storage。RDS总存储量是一个静态值。每当存储空间不足时,我们都会通过AWS控制台手动增加RDS存储空间。有没有办法自动更新cloudwatch告警阈值,在增加RDS存储空间后将其设置为10% of new total storage

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-22 20:58:27

尽管被认为是一种反模式,但也有另一种选择。它被认为是一种反模式,因为让两个不同的进程控制同一资源的配置通常不是一个好主意。但是,如果您坚持在terraform计划之外控制RDS的大小,则可以自动执行cloudwatch指标设置。

根本问题是FreeSpaceAvailable RDS指标只了解字节,而不了解百分比。Terraform会为你做这个转换,所以你看不到它。这就是为什么当您在RDS控制台中更改分配的空间时,警报不会发生变化。您可以开发一个简单的lambda函数,该函数使用其中一个AWS API(如python的boto3 )定期查询RDS数据库的大小,并相应地更新FreeSpaceAvailable上的警报。它甚至可以更复杂,让SNS通知SQS队列RDS配置中的更改,然后可以触发lambda来评估度量,这将使更新非常快速和有效。您需要应用IAM策略,该策略允许lambda读取相关RDS实例上的数据,并允许更新相关指标。或者,您可以手动运行它,然后在AWS控制台更新后立即运行它,但在这种情况下,您可能也可以很容易地手动更新指标。

我仍然不建议这样做,因为terraform控制了一个已经被控制的资源。

票数 1
EN

Stack Overflow用户

发布于 2021-07-22 20:21:08

如果使用terraform代码更新分配的空间,则应由terraform自动更新。Cloudwatch本身并不理解您正在观看的内容之间的关系-它只是在您应用模板时由terraform设置一个阈值。由于terraform代表您执行这两个操作(分配RDS实例和设置cloudwatch指标),因此它知道需要设置什么。然而,使用AWS控制台本质上是绕过了terraform。虽然大小增加了,但terraform没有意识到这种变化,也改变了cloudwatch指标。使用terraform应用大小更新应该可以修复警报,这取决于您如何设置警报阈值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68484526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档