本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自動建立標籤型 Amazon CloudWatch 儀表板
由 Janak Vadaria (AWS)、 RAJNEESH TYAGI (AWS) 和 Vinodkumar Mandalapu (AWS) 建立
程式碼儲存庫: Goldensignals | 環境:生產 | 技術:管理和治理 |
AWS 服務:AWSCDK;Amazon CloudWatch;AWS CodeBuild; AWS CodePipeline |
Summary
手動建立不同的 Amazon CloudWatch 儀表板可能很耗時,特別是當您必須建立和更新多個資源以自動擴展環境時。自動建立和更新 CloudWatch 儀表板的解決方案可以節省您的時間。此模式可協助您部署全自動 AWS Cloud Development Kit (AWS CDK) 管道,根據標籤變更事件建立和更新 AWS 資源的 CloudWatch 儀表板,以顯示 Golden Signals 指標。
在網站可靠性工程 (SRE) 中,Golden Signals 是指一組全面的指標,可從使用者或消費者的角度提供服務的廣泛檢視。這些指標包含延遲、流量、錯誤和飽和。如需詳細資訊,請參閱 網站上的什麼是 Site Reliability Engineering (SRE)?
此模式提供的解決方案是事件驅動的解決方案。部署後,它會持續監控標籤變更事件,並自動更新 CloudWatch 儀表板和警示。
先決條件和限制
先決條件
作用中 AWS 帳戶
AWS Command Line Interface (AWS CLI),已安裝和設定
AWS CDK v2 的先決條件
上的已開機環境 AWS
Node.js 第 18 版
或更新版本 節點套件管理員 (npm),已安裝並設定
用於 AWS CDK 中等 (200 級) 熟悉 AWS CDK 和 AWS CodePipeline
限制
此解決方案目前僅針對下列AWS服務建立自動儀表板:
架構
目標技術堆疊
目標架構
已設定應用程式標籤或程式碼變更的 AWS 標籤變更事件會在 中啟動管道, AWS CodePipeline 以建置和部署更新的 CloudWatch 儀表板。
AWS CodeBuild 會執行 Python 指令碼來尋找已設定標籤的資源,並將資源存放在 CodeBuild 環境中IDs的本機檔案中。
CodeBuild 會執行 cdk 合成來產生部署 CloudWatch 儀表板和警示的 AWS CloudFormation 範本。
CodePipeline 會將 AWS CloudFormation 範本部署到指定的 AWS 帳戶 和 區域。
堆疊成功 AWS CloudFormation 部署後,您可以檢視 CloudWatch 儀表板和警示。
自動化和擴展
此解決方案已使用 進行自動化 AWS CDK。您可以在 GitHub Amazon 儲存庫的 Golden Signals Dashboards CloudWatch
工具
Amazon 服務
Amazon EventBridge
是一種無伺服器事件匯流排服務,可協助您將應用程式與各種來源的即時資料連線,包括 AWS Lambda 函數、使用API目的地HTTP的叫用端點,或其他 中的事件匯流排 AWS 帳戶。 AWS CodePipeline
可協助您快速建模和設定軟體版本的不同階段,並自動化持續發行軟體變更所需的步驟。 AWS CodeBuild
是完全受管建置服務,可協助您編譯原始程式碼、執行單位測試,並產生準備好部署的成品。 AWS Command Line Interface (AWS CLI) 是一種開放原始碼工具,可協助您透過命令列 Shell 中的命令與 AWS服務互動。
AWS Identity and Access Management (IAM)
透過控制誰經過身分驗證並獲授權使用資源,協助您安全地管理對 AWS 資源的存取。 Amazon Simple Storage Service (Amazon S3)
是一種雲端型物件儲存服務,可協助您儲存、保護和擷取任何數量的資料。
最佳實務
作為安全最佳實務,您可以對連接到管道的來源儲存庫使用加密和身分驗證。如需其他最佳實務,請參閱 CodePipeline 文件中的CodePipeline 最佳實務和使用案例。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
設定和部署範例應用程式。 |
| AWS DevOps |
自動建立儀表板和警示。 | 部署範例應用程式後,您可以建立此解決方案支援的任何具有預期標籤值的資源,這些值會自動建立指定的儀表板和警示。 若要測試此解決方案,請建立 AWS Lambda 函數:
| AWS DevOps |
任務 | 描述 | 所需的技能 |
---|---|---|
移除 |
| AWS DevOps |
故障診斷
問題 | 解決方案 |
---|---|
找不到 Python 命令 (請參閱第 8 | 檢查 Python 安裝的版本。如果您已安裝 Python 第 3 版,請將 |
相關資源
Bootstrapping (AWS CDK 文件)
使用具名設定檔 (AWS CLI 文件)
其他資訊
下圖顯示作為此解決方案一部分RDS建立的 Amazon 範例儀表板。