You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建Cloudwatch图表统计Aurora Postgres只读副本实例数量?

统计Aurora Postgres只读副本数量的CloudWatch图表方案

CloudWatch没有原生指标直接统计Aurora只读副本数量,但可以通过以下几种方法实现需求:

方法一:用CloudWatch Metrics Insights直接查询

这是最简单的方式,无需额外代码,直接在CloudWatch控制台编写查询语句:

SELECT COUNT(*) FROM SCHEMA("AWS/RDS", "DBClusterIdentifier", "Role") 
WHERE Role = 'READ_REPLICA' 
AND DBClusterIdentifier = '你的Aurora集群ID'

替换你的Aurora集群ID为实际集群名称,执行查询后即可看到当前只读副本数量,还能将查询结果保存为图表并设置时间范围。

方法二:Lambda推送自定义CloudWatch指标

如果需要更灵活的统计逻辑,或要与其他监控数据联动,可以用Lambda定期拉取副本数量并推送到CloudWatch:

  1. 创建Python Lambda函数,示例代码如下:
import boto3

def lambda_handler(event, context):
    rds = boto3.client('rds')
    cluster_id = '你的Aurora集群ID'
    
    # 筛选集群下的只读副本实例
    resp = rds.describe_db_instances(
        Filters=[
            {'Name': 'db-cluster-id', 'Values': [cluster_id]},
            {'Name': 'role', 'Values': ['READ_REPLICA']}
        ]
    )
    
    replica_count = len(resp['DBInstances'])
    
    # 推送自定义指标到CloudWatch
    cw = boto3.client('cloudwatch')
    cw.put_metric_data(
        Namespace='AuroraCustom',
        MetricData=[
            {
                'MetricName': 'ReadOnlyReplicaCount',
                'Dimensions': [{'Name': 'DBCluster', 'Value': cluster_id}],
                'Value': replica_count,
                'Unit': 'Count'
            }
        ]
    )
    
    return {'count': replica_count}
  1. 给Lambda配置IAM权限,允许调用rds:DescribeDBInstances和cloudwatch:PutMetricData操作。
  2. 添加定时触发器(例如每分钟执行一次),CloudWatch会持续收到副本数量指标,之后就能基于该指标创建图表。

方法三:RDS事件触发更新(可选)

如果仅关注副本数量的变化,可配置RDS事件通知,当只读副本创建/删除时触发Lambda更新指标,但这种方式实时性不如定时推送稳定,适合仅需记录变更的场景。

内容的提问来源于stack exchange,提问作者user2943799

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 02:10:20