简体   繁体   中英

AWS CloudWatch dashboard CloudFormation configuration

I'm trying to confgure a dashboard with a basic widget to expose CpUUtilization metric. I cannot reference the previous created EC2 instance, since it seems that in the json that describe the dashboard the !Ref function is not interpreted.

metrics": [
        "AWS/EC2",
        "CPUUtilization",
        "InstanceId",
        "!Ref Ec2Instance"
]

Any idea how to reference it by logical name?

You can use Fn::Join to combine the output of Intrinsic functions (like Ref ) with strings. For example:

  CloudWatchDashboardHOSTNAME:
    Type: "AWS::CloudWatch::Dashboard"
    DependsOn: Ec2InstanceHOSTNAME
    Properties:
      DashboardName: HOSTNAME
      DashboardBody: { "Fn::Join": [ "", ['{"widgets":[
          {
            "type":"metric",
            "properties":{
              "metrics":[
                ["AWS/EC2","CPUUtilization","InstanceId",
                 "', { Ref: Ec2InstanceHOSTNAME }, '"] 
              ],
              "title":"CPU Utilization",
              "period":60,
              "region":"us-east-1"
            }
          }]}' ] ] } 

Documentation:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM