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

如何在CloudFormation中为AWS DocumentDB创建区分主与只读实例的CloudWatch告警

在CloudFormation中为AWS DocumentDB创建主/只读实例的CloudWatch CPU利用率告警

要区分DocumentDB的主实例和只读实例创建CloudWatch告警,核心是利用CloudWatch指标的DBInstanceRole维度——主实例的该维度值为PRIMARY,只读实例为READER。以下是完整的YAML和JSON格式CloudFormation模板示例:

YAML模板示例

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  # 主实例CPU利用率告警
  DocDBPrimaryCPUAlarm:
    Type: AWS::CloudWatch::Alarm
    Properties:
      AlarmName: DocDB-Primary-CPU-Utilization-High
      AlarmDescription: 当DocumentDB主实例CPU利用率超过80%时触发告警
      Namespace: AWS/DocDB
      MetricName: CPUUtilization
      Dimensions:
        - Name: DBInstanceIdentifier
          Value: !Ref YourDocDBInstanceName  # 替换为你的DocumentDB实例ID
        - Name: DBInstanceRole
          Value: PRIMARY
      Statistic: Average
      Period: 300  # 5分钟采样周期
      EvaluationPeriods: 2
      Threshold: 80
      ComparisonOperator: GreaterThanThreshold
      AlarmActions:
        - !Ref YourSNSTopicARN  # 替换为你的告警通知SNS Topic ARN
      TreatMissingData: notBreaching

  # 只读实例CPU利用率告警(监控集群内所有只读实例)
  DocDBReaderCPUAlarm:
    Type: AWS::CloudWatch::Alarm
    Properties:
      AlarmName: DocDB-Reader-CPU-Utilization-High
      AlarmDescription: 当DocumentDB只读实例CPU利用率超过80%时触发告警
      Namespace: AWS/DocDB
      MetricName: CPUUtilization
      Dimensions:
        - Name: DBInstanceIdentifier
          Value: !Ref YourDocDBInstanceName
        - Name: DBInstanceRole
          Value: READER
      Statistic: Average
      Period: 300
      EvaluationPeriods: 2
      Threshold: 80
      ComparisonOperator: GreaterThanThreshold
      AlarmActions:
        - !Ref YourSNSTopicARN
      TreatMissingData: notBreaching

关键配置说明

  • Dimensions:通过DBInstanceRole明确指定监控的实例角色,这是区分主/只读实例的核心。如果需要针对单个只读实例告警,只需在Dimensions中添加该只读实例的具体ID。
  • Period/EvaluationPeriods:示例设置为每5分钟采样一次,连续2次超过阈值触发告警,可根据业务需求调整采样频率和评估次数。
  • AlarmActions:替换为你的SNS Topic ARN用于接收告警通知,也可配置Lambda函数等其他动作。

JSON模板示例(简化版)

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "DocDBPrimaryCPUAlarm": {
      "Type": "AWS::CloudWatch::Alarm",
      "Properties": {
        "AlarmName": "DocDB-Primary-CPU-Utilization-High",
        "AlarmDescription": "当DocumentDB主实例CPU利用率超过80%时触发告警",
        "Namespace": "AWS/DocDB",
        "MetricName": "CPUUtilization",
        "Dimensions": [
          {
            "Name": "DBInstanceIdentifier",
            "Value": "your-docdb-instance-id"
          },
          {
            "Name": "DBInstanceRole",
            "Value": "PRIMARY"
          }
        ],
        "Statistic": "Average",
        "Period": 300,
        "EvaluationPeriods": 2,
        "Threshold": 80,
        "ComparisonOperator": "GreaterThanThreshold",
        "AlarmActions": [
          "your-sns-topic-arn"
        ],
        "TreatMissingData": "notBreaching"
      }
    },
    "DocDBReaderCPUAlarm": {
      "Type": "AWS::CloudWatch::Alarm",
      "Properties": {
        "AlarmName": "DocDB-Reader-CPU-Utilization-High",
        "AlarmDescription": "当DocumentDB只读实例CPU利用率超过80%时触发告警",
        "Namespace": "AWS/DocDB",
        "MetricName": "CPUUtilization",
        "Dimensions": [
          {
            "Name": "DBInstanceIdentifier",
            "Value": "your-docdb-instance-id"
          },
          {
            "Name": "DBInstanceRole",
            "Value": "READER"
          }
        ],
        "Statistic": "Average",
        "Period": 300,
        "EvaluationPeriods": 2,
        "Threshold": 80,
        "ComparisonOperator": "GreaterThanThreshold",
        "AlarmActions": [
          "your-sns-topic-arn"
        ],
        "TreatMissingData": "notBreaching"
      }
    }
  }
}

使用时请将模板中的占位符(实例ID、SNS Topic ARN)替换为你的实际资源信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:20:34