AWS CloudWatch 控制面板 CloudFormation 配置
AWS CloudWatch dashboard CloudFormation configuration
我正在尝试使用基本小部件配置仪表板以公开 CpUUtilization 指标。
我无法引用之前创建的 EC2 实例,因为在描述仪表板的 json 中似乎没有解释 !Ref 函数。
metrics": [
"AWS/EC2",
"CPUUtilization",
"InstanceId",
"!Ref Ec2Instance"
]
知道如何通过逻辑名称引用它吗?
您可以使用 Fn::Join
将内部函数(如 Ref
)的输出与字符串结合起来。例如:
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"
}
}]}' ] ] }
文档:
我正在尝试使用基本小部件配置仪表板以公开 CpUUtilization 指标。 我无法引用之前创建的 EC2 实例,因为在描述仪表板的 json 中似乎没有解释 !Ref 函数。
metrics": [
"AWS/EC2",
"CPUUtilization",
"InstanceId",
"!Ref Ec2Instance"
]
知道如何通过逻辑名称引用它吗?
您可以使用 Fn::Join
将内部函数(如 Ref
)的输出与字符串结合起来。例如:
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"
}
}]}' ] ] }
文档: