

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 自動建立標籤型 Amazon CloudWatch 儀表板
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically"></a>

*Janak Vadaria、Vinodkumar Mandalapu 和 RAJNEESH TYAGI，Amazon Web Services*

## 總結
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-summary"></a>

手動建立不同的 Amazon CloudWatch 儀表板可能很耗時，尤其是當您必須建立和更新多個資源以自動擴展環境時。自動建立和更新 CloudWatch 儀表板的解決方案可以節省您的時間。此模式可協助您部署全自動化 AWS Cloud Development Kit (AWS CDK) 管道，以根據標籤變更事件建立和更新 AWS 資源的 CloudWatch 儀表板，以顯示 Golden Signals 指標。

在網站可靠性工程 (SRE) 中，黃金訊號是指一組全面的指標，可從使用者或消費者的角度提供服務的廣泛檢視。這些指標包含延遲、流量、錯誤和飽和。如需詳細資訊，請參閱 AWS 網站上的[什麼是網站可靠性工程 (SRE)？](https://aws.amazon.com/what-is/sre/)。

此模式提供的解決方案是事件驅動的。部署後，它會持續監控標籤變更事件，並自動更新 CloudWatch 儀表板和警示。

## 先決條件和限制
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-prereqs"></a>

** 先決條件 **
+ 作用中 AWS 帳戶
+ AWS Command Line Interface (AWS CLI)，[已安裝並設定](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+  AWS CDK v2 [的先決條件](https://docs.aws.amazon.com/cdk/v2/guide/work-with.html#work-with-prerequisites) 
+ 上的[引導環境](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) AWS
+ [Python 第 3 版](https://www.python.org/downloads/)
+ [AWS 適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)，已安裝
+ [Node.js 第 18 版](https://nodejs.org/en/download/current)或更新版本
+ 節點套件管理員 (npm)，[已安裝並針對 設定](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) AWS CDK
+ 中等 （層級 200) 熟悉 AWS CDK 和 AWS CodePipeline

**限制**

此解決方案目前僅針對下列 AWS 服務建立自動化儀表板：
+ [Amazon Relational Database Service (Amazon RDS)](https://aws.amazon.com/rds/)
+ [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)
+ [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns/)
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)
+ [AWS Lambda](https://aws.amazon.com/lambda/)

## Architecture
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-architecture"></a>

**目標技術堆疊**
+ [CloudWatch 儀表板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)
+ [CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)

**目標架構**

![建立標籤型 CloudWatch 儀表板的目標架構](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/f63ca697-f252-416d-8a1b-0239f38c10c5.png)


1. 已設定應用程式標籤或程式碼變更的 AWS 標籤變更事件會在 中啟動管道， AWS CodePipeline 以建置和部署更新的 CloudWatch 儀表板。

1. AWS CodeBuild 執行 Python 指令碼來尋找已設定標籤的資源，並將資源 IDs存放在 CodeBuild 環境中的本機檔案中。

1. CodeBuild 會執行 **cdk 合成**來產生部署 CloudWatch 儀表板和警示的 CloudFormation 範本。

1. CodePipeline 會將 CloudFormation 範本部署到指定的 AWS 帳戶 和 區域。

1. 堆疊成功 CloudFormation 部署後，您可以檢視 CloudWatch 儀表板和警示。

**自動化和擴展**

此解決方案已使用 自動化 AWS CDK。您可以在 Amazon CloudWatch 儲存庫上的 GitHub Golden Signals Dashboards 中找到程式碼。 [ Amazon CloudWatch](https://github.com/aws-samples/golden-signals-dashboards-sample-app) 對於其他擴展和建立自訂儀表板，您可以設定多個標籤索引鍵和值。

## 工具
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-tools"></a>

**Amazon 服務**
+ [Amazon EventBridge](https://aws.amazon.com/eventbridge/) 是一種無伺服器事件匯流排服務，可協助您將應用程式與各種來源的即時資料連線，包括 AWS Lambda 函數、使用 API 目的地的 HTTP 呼叫端點，或其他事件匯流排 AWS 帳戶。
+ [AWS CodePipeline](https://aws.amazon.com/codepipeline/) 可協助您快速建模和設定軟體版本的不同階段，並自動化持續發行軟體變更所需的步驟。
+ [AWS CodeBuild](https://aws.amazon.com/codebuild/) 是一種全受管建置服務，可協助您編譯原始程式碼、執行單元測試，並產生準備好部署的成品。
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) 是一種開放原始碼工具，可協助您透過命令列 shell 中的命令與 AWS 服務互動。
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) 透過控制已驗證並獲授權使用的人員，協助您安全地管理對 AWS 資源的存取。
+ [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/) 是一種雲端型物件儲存服務，可協助您儲存、保護和擷取任何數量的資料。

## 最佳實務
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-best-practices"></a>

作為安全最佳實務，您可以對連接到管道的來源儲存庫使用加密和身分驗證。如需其他最佳實務，請參閱 [CodePipeline 文件中的 CodePipeline 最佳實務和使用案例](https://docs.aws.amazon.com/codepipeline/latest/userguide/best-practices.html)。 CodePipeline 

## 史詩
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-epics"></a>

### 設定和部署範例應用程式
<a name="configure-and-deploy-the-sample-application"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 設定和部署範例應用程式。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 
| 自動建立儀表板和警示。 | 部署範例應用程式後，您可以使用預期的標籤值來建立此解決方案支援的任何資源，這會自動建立指定的儀表板和警示。<br />若要測試此解決方案，請建立 AWS Lambda 函數：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 

### 移除範例應用程式
<a name="remove-the-sample-application"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 移除 `golden-signals-dashboard` 建構。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 

## 疑難排解
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-troubleshooting"></a>


| 問題 | 解決方案 | 
| --- | --- | 
| 找不到 Python 命令 （請參閱第 8 `findresources.sh`行）。 | 檢查 Python 安裝的版本。如果您已安裝 Python 第 3 版，請將 `resources.sh` 檔案第 8 行`python3`的 `python`取代為 ，然後再次執行 `sh deploy.sh`命令以部署解決方案。 | 

## 相關資源
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-resources"></a>
+ [引導 ](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html)(AWS CDK 文件）
+ [使用具名設定檔](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-methods) (AWS CLI 文件）
+ [AWS CDK 研討會](https://cdkworkshop.com/)

## 其他資訊
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-additional"></a>

下圖顯示在此解決方案中建立的 Amazon RDS 範例儀表板。

![Amazon RDS 的範例儀表板](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/706a262f-8650-47ff-ac44-e04ce5f4023e.png)
