如何自动化将云监视图表添加到仪表板的过程?

How to automate the process of adding cloud watch graphs to dashboard?

如果我们想将云手表的图表添加到仪表板,我们选择操作,然后选择添加到仪表板。 这是我们将图表添加到仪表板的手动任务。 我们可以使用 AWS CDK 或其他方式使其自动化吗?有可能吗,如果有的话怎么办?如果不是,我该如何做?

由于您已经有了仪表板,因此最好从源代码开始。 cloudwatch 仪表板 JSON 非常简单易用。

从仪表板屏幕上的控制台转到

"Actions -> View/edit source"  

选项 1:CLI/SDK

我将提供概述方法,该方法会根据您使用的是 CLI 还是编程语言而略有不同。我将使用 CLI 显示命令,但它们映射到 SDK。

第 1 步:获取仪表板源

$ cloudwatch get-dashboard --dashboard-name CloudTrail-Search
{
    "DashboardName": "CloudTrail-Search",
    "DashboardArn": "arn:aws:cloudwatch::717475838310:dashboard/CloudTrail-Search",
    "DashboardBody": "{ CONTENTS REMOVED}"
}

第 2 步:将小部件添加到 DashboardBody

第 3 步:放回仪表板

$ aws put-dashboard --dashboard-name <value>  --dashboard-body <value> 

选项 2:云层

使用 Cloud Formations,您将需要管理整个仪表板,但它可以轻松地将小部​​件添加到多个仪表板。

Getting started with Cloud Formations

Cloud Formations Cloudwatch Dashboard

选项 3:Terraform

这与 cloudformation 的方法类似,您可以管理整个仪表板配置。 terraform 还有很多内容,但这就是其中一个资源的样子。

source "aws_cloudwatch_dashboard" "dashboard" {
  dashboard_name = "Your-Beautiful-Dashbaord"

  dashboard_body = <<EOF
{
 THE_JSON_YOU_GOT_FROM_THE_DASHBOARD_SOURCE
EOF
}