Datadog使用指定AWS RDS指标配置存储使用率80%告警是否可行
Datadog RDS Aurora存储使用率告警配置解答
是否支持两个指标直接做除法运算
支持。Datadog的指标查询原生支持多指标间的算术运算,只要两个指标的关联标签(比如数据库实例ID、AWS区域、环境标签等)完全匹配,系统会自动按相同标签维度分组做除法运算。
注意:你给出的原始计算逻辑存在错误:
aws.rds.free_local_storage / aws.rds.volume_bytes_used得到的是空闲容量和已用容量的比值,该值大于0.8意味着空闲空间充足,和你“存储占用超过80%触发告警”的需求完全不符。正确的存储占用率计算逻辑为:已用容量 / 总容量 = aws.rds.volume_bytes_used / (aws.rds.volume_bytes_used + aws.rds.free_local_storage),该结果大于0.8时即可触发告警。
直接运算的配置步骤
- 在告警创建页的指标查询模块,新增第一个指标查询:
avg:aws.rds.volume_bytes_used{your_tag_filters},将该查询别名设为used - 新增第二个指标查询:
avg:aws.rds.free_local_storage{your_tag_filters},标签过滤条件和第一个查询完全一致,别名设为free - 新增算术运算查询,输入公式:
used / (used + free),即可得到实时的存储占用百分比 - 将告警阈值设置为
> 0.8即可完成配置
其他替代实现方案
如果遇到指标维度对齐失败、上报延迟不一致导致运算结果不准的情况,可以选择以下方案:
- 使用衍生指标(Derived Metrics):在Datadog指标管理后台提前创建存储占用率的衍生指标,把运算逻辑固化为独立指标,后台会预计算指标值,告警和看板查询的响应速度比临时运算更快
- 上报自定义指标:在你的自定义监控脚本中直接调用AWS CloudWatch API拉取两个指标,本地计算出存储占用率后作为自定义指标上报到Datadog,直接对该自定义指标配置告警即可,灵活性最高,可适配各种特殊业务规则
- 使用固定存储总量计算:如果你的Aurora实例不会自动扩容,可以直接将实例的总存储大小作为常量写入查询公式,比如总存储为100GB的话,公式可以写为
used / 107374182400,省去对齐空闲存储指标的步骤
内容的提问来源于stack exchange,提问作者Miles
相关产品推荐
相关产品推荐

