本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用適用於 Amazon RDS 的 Amazon DevOps 大師分析 Aurora 性能異常
Amazon DevOps Guru 是全受管的營運服務,可協助開發人員和操作員改善其應用程式的效能和可用性。 DevOpsGuru 卸載了與識別操作問題相關的任務,以便您可以快速實施建議以改善應用程序。有關更多信息,請參閱什麼是 Amazon DevOps 大師? 在 Amazon 大 DevOps師用戶指南。
DevOpsGuru 可偵測、分析所有 Amazon RDS 資料庫引擎的現有操作問題,並提出建議。 DevOpsRDS 專家可將機器學習套用至適用於 料庫的 Performance Insights 指標,藉此擴充此功能。這些監控功能可讓 DevOps Guru for RDS 偵測和診斷效能瓶頸,並建議特定的修正動作。 DevOps適用於 RDS 的大師也可以在 Aurora 資料庫 狀況,然後再發生這些問題。
您現在可以在 RDS 主控台中檢視這些建議。如需詳細資訊,請參閱 Amazon Aurora 的建議 RDS。
以下視頻是 RDS 大 DevOps師的概述。
有關此主題的深入探討,請參閱引擎蓋下的 RDS Amazon DevOps 大師。
RDS 大 DevOps師的好處
如果您負責 Amazon Aurora 資料庫,您可能不知道已發生事件或退化而正在影響該資料庫。得知問題時,您可能不知道為何發生或如何處理。您可以遵循 DevOps Guru for RDS 的建議,而不是向資料庫管理員 (DBA) 尋求協助或依賴第三方工具。
您可以從 RDS 的 DevOps大師的詳細分析中獲得以下優勢:
- 快速診斷
-
DevOpsRDS 大師持續監視和分析資料庫遙測。Performance Insights、增強型監控和 Amazon 會 CloudWatch 收集資料庫叢集的遙測資料。 DevOpsGuru for RDS 使用統計和機器學習技術來挖掘這些數據並檢測異常。若要進一步了解遙測資料,請參閱《Amazon Aurora 使用者指南》中的在 Amazon Aurora 以績效詳情監控資料庫負載和以增強型監控來監控 OS 指標,以及。
- 快速解決
-
每個異常都指出效能問題,並建議調查途徑或更正行動。例如,RDS 版 DevOps Guru 可能會建議您調查特定的等待事件。或者,可能建議您調整應用程式集區設定,以限制資料庫連線的數目。採用這些建議,解決效能問題會比手動疑難排解更快。
- 主動式洞察
-
DevOpsGuru for RDS 使用資源中的指標來檢測潛在問題的行為,然後再成為更大的問題。例如,它可以偵測資料庫何時使用越來越多磁碟上暫存資料表,因為這可能會影響效能。 DevOps然後,Guru 提供建議以幫助您在問題變得更大的問題之前解決問題。
- Amazon 工程師和機器學習的深厚知識
-
為了偵測效能問題並協助您解決瓶頸, DevOpsGuru for RDS 仰賴機器學習 (ML) 和進階數學公式。Amazon 資料庫工程師為開發 RDS 的 DevOps Guru 做出了貢獻,其中包含了管理數十萬個資料庫的多年。通過利用這個集體知識, DevOpsGuru for RDS 可以教你最佳實踐。
RDS 的 DevOps大師如何工作
DevOps適用於 RDS 的專家會從 Amazon Performance Insights 收集關於您的 Aurora RDS 資料庫的資料。最重要的指標是DBLoad
。 DevOpsGuru for RDS 會使用 Performance Insights 指標,使用機器學習進行分析,並將見解發佈到儀表板。
洞察力是 DevOps Guru 檢測到的相關異常的集合。
在適用於 RDS 的 DevOps大師中,異常是一種模式,該模式會偏離您的 Amazon Aurora 正常效能。
主動式洞察
主動洞察可讓您在異常行為發生前了解該行為。它包含具有建議和相關指標的異常情況,可幫助您在問題擴大之前解決 Amazon Aurora 資料庫的問題。這些見解發佈在 DevOps Guru 儀表板中。
例如, DevOpsGuru 可能會偵測到您的 Aurora PostgreSQL 資料庫正在建立許多磁碟上暫存資料表。若未解決問題,之後可能導致效能問題。每個主動洞察都包含修正行為的建議,以及 使用 Amazon DevOps Guru 主動洞察,調校 Aurora MySQL 或 使用 Amazon DevOps Guru 主動洞察,調校 Aurora PostgreSQL 中相關主題的連結。如需詳細資訊,請參閱 Amazon DevOps Guru 使用者指南中的 DevOps Guru 中的深入解析。
反應式洞察
反應式洞察會在發生異常行為時有效識別。如果 RDS DevOps 專家在您的 Amazon Aurora 資料庫執行個體中發現效能問題,它會在 DevOps大師儀表板中發佈反應式洞察。如需詳細資訊,請參閱 Amazon DevOps Guru 使用者指南中的 DevOps Guru 中的深入解析。
因果異常
因果異常是反應式洞察中最高等級的異常。數據庫負載(數據庫負載)是 RDS DevOps 大師的因果異常。
異常指派高、中、低的嚴重性層級來測量效能影響。若要進一步了解,請參閱 Amazon DevOps 大 DevOps師使用者指南中適用於 RDS 的重要概念。
如果 DevOps Guru 偵測到資料庫執行個體目前發生異常,則會在 RDS 主控台的 [資料庫] 頁面中收到警示。主控台還會提醒您過去 24 小時內發生的異常。若要從 RDS 主控台移至異常頁面,請選擇提醒訊息中的連結。RDS 主控台也會在頁面中提醒您注意 Amazon Aurora 資料庫叢集 。
情境異常
情境異常是資料庫負載內的研究結果,與反應式洞察相關。每個情境異常描述一個需要調查的特定 Amazon Aurora 效能問題。例如,RDS 的 DevOps Guru 可能會建議您考慮增加 CPU 容量,或調查導致資料庫負載的等待事件。
重要
建議您先在測試執行個體上測試任何變更,然後再修改生產執行個體。如此就可以了解變更的影響。
若要進一步了解,請參閱 Amazon DevOps大師使用者指南中的 Amazon RDS 中的分析異常情況。
為 RDS 設定 DevOps大師
若要允許 Amazon RDS DevOps 大師針對 Amazon Aurora 和 RDS 版 資料庫發佈見解,請完成以下任務。
設定 RDS DevOps 專用的 IAM 存取政策
若要在 RDS 主控台中檢視 DevOps Guru 的警示,您的 AWS Identity and Access Management (IAM) 使用者或角色必須具有下列其中一項政策:
-
AWS 受管理的策略
AmazonDevOpsGuruConsoleFullAccess
-
受 AWS 管理的策略
AmazonDevOpsGuruConsoleReadOnlyAccess
及下列其中一項策略:-
AWS 受管理的策略
AmazonRDSFullAccess
-
包含
pi:GetResourceMetrics
和pi:DescribeDimensionKeys
的客戶受管政策
-
如需詳細資訊,請參閱 設定績效詳情的存取政策。
對 Aurora 資料庫執行個體開啟績效詳情
DevOpsRDS 的大師依賴於 Performance Insights 其數據。如果沒有 Performance Insights, DevOpsGuru 會發佈異常情況,但不包括詳細的分析和建議。
在建立 Aurora 資料庫叢集或修改資料庫執行個體時,您可以啟用績效詳情。如需詳細資訊,請參閱 開啟和關閉 Aurora 的 Performance Insights。
開啟 DevOps Guru 並指定資源涵蓋範圍
您可以開啟 DevOps大師,讓它以下列其中一種方式監控您的 Amazon Aurora 資料庫。
在 RDS 主控台中開啟 DevOps大師
您可以在 Amazon RDS 主控台中採取多個路徑來開啟 DevOps大師。
當您建立 Aurora時開啟 DevOps大師
建立工作流程包括開啟資料庫的 DevOps Guru 涵蓋範圍的設定。當您選擇 Production (生產) 範本時,此設定預設為開啟。
若要在建立 Aurora 大師
登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/
。 -
請按照 建立資料庫叢集 中的步驟進行,一直執行到 (但不包括) 您選擇監控設定的步驟。
-
在 Monitoring (監控) 中,選擇 Turn on Performance Insights (開啟績效詳情)。若要讓 DevOps Guru for RDS 提供效能異常的詳細分析,必須開啟 Performance Insights。
-
選擇開啟 DevOps大師。
-
為您的數據庫創建一個標籤,以便 DevOps Guru 可以對其進行監視。請執行下列操作:
-
在 Tag key (標籤鍵) 的文字欄位中,輸入開頭為
Devops-Guru-
的名稱。 -
在 Tag value (標籤值) 的文字欄位中,輸入任何一個值。例如,如果您輸入
rds-database-1
作為 Aurora 資料庫的名稱,您也可以輸入rds-database-1
作為標籤值。
如需有關標籤的詳細資訊,請參閱 Amazon Guru 使用者指南中的「使用標籤來識別 DevOps G DevOps uru 應用程式中的資源」。
-
-
完成建立資料庫叢集 中剩餘的步驟。
從通知橫幅打開 DevOps Guru
如果 DevOps Guru 不涵蓋您的資源,Amazon RDS 會在下列位置使用橫幅通知您:
-
資料庫叢集執行個體的 Monitoring (監控) 索引標籤
-
績效詳情儀表板
![DevOps大師橫幅](images/devops-guru-enable-banner.png)
為您的 Aurora 大師
-
在橫幅中,選擇 [開啟 RDS DevOps 大師]。
-
輸入標籤金鑰名稱與值。如需有關標籤的詳細資訊,請參閱 Amazon Guru 使用者指南中的「使用標籤來識別 DevOps G DevOps uru 應用程式中的資源」。
-
選擇開啟 DevOps大師。
開啟 DevOps Guru 時回應權限錯誤
如果您在建立資料庫時從 RDS 主控台開啟 DevOps Guru,RDS 可能會顯示下列關於遺失權限的標題。
![缺少權限錯誤的橫幅](images/devops-guru-permissions-error.png)
回應許可錯誤
-
將使用者管理的角色
AmazonDevOpsGuruConsoleFullAccess
授予您的 IAM 使用者或角色。如需詳細資訊,請參閱 設定 RDS DevOps 專用的 IAM 存取政策。 -
開啟 RDS 主控台。
-
在導覽窗格中,選擇 Performance Insights (績效詳情)。
-
在叢集中選擇您剛剛建立的資料庫執行個體。
-
選擇開關以開啟 RDS DevOps 專用大師。
-
選擇一個標籤值。如需詳細資訊,請參閱 Amazon Guru 使用者指南中的「使用標籤來識別 DevOps G DevOps uru 應用程式中的資源」。
-
選擇開啟 DevOps大師。
在大師主控台中新增 資源
您可以在 DevOps Guru 主控台上指定您的 DevOps Guru 資源涵蓋範圍。請依照 Amazon DevOps DevOps Guru 使用者指南中指定您的大師資源涵蓋範圍中所述的步驟進行。在編輯分析的資源時,請選擇下列其中一個選項:
如需詳細資訊,請參閱 Amazon DevOps G DevOps uru 使用者指南中的啟用大師。
使用新增源 AWS CloudFormation
您可以使用標籤,將 Aurora 圍新增至範本。 CloudFormation下列程序假設您同時擁有適用於 者堆疊的 CloudFormation 範本 DevOps。
若要使用標籤 A urora 的資料庫執行個體 CloudFormation
-
在資料庫執行個體的 CloudFormation 範本中,使用索引鍵/值組定義標籤。
下列範例會將值
my-aurora-db-instance1
指派給 Aurora 資料庫執行個體的Devops-guru-cfn-default
。MyAuroraDBInstance1: Type: "AWS::RDS::DBInstance" Properties: DBClusterIdentifier: my-aurora-db-cluster DBInstanceIdentifier: my-aurora-db-instance1 Tags: - Key: Devops-guru-cfn-default Value: devopsguru-my-aurora-db-instance1
-
在 DevOps Guru 堆疊的 CloudFormation 範本中,在資源集合篩選器中指定相同的標籤。
下列範例會將 DevOps Guru 設定為具有標籤值的資源提供涵蓋範圍。
my-aurora-db-instance1
DevOpsGuruResourceCollection: Type: AWS::DevOpsGuru::ResourceCollection Properties: ResourceCollectionFilter: Tags: - AppBoundaryKey: "Devops-guru-cfn-default" TagValues: - "devopsguru-my-aurora-db-instance1"
下列範例提供應用程式邊界
Devops-guru-cfn-default
內所有資源的涵蓋範圍。DevOpsGuruResourceCollection: Type: AWS::DevOpsGuru::ResourceCollection Properties: ResourceCollectionFilter: Tags: - AppBoundaryKey: "Devops-guru-cfn-default" TagValues: - "*"
如需詳細資訊,請參閱使用者指南中的AWS::DevOpsGuru::ResourceCollection和 AWS:: RDS:: 資料庫執行個體AWS CloudFormation 。