使用 Amazon DevOps Guru for Amazon RDS 分析 Aurora 效能異常 - Amazon Aurora

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

使用 Amazon DevOps Guru for Amazon RDS 分析 Aurora 效能異常

Amazon DevOps Guru 是全受管操作服務,可協助開發人員和操作員改善其應用程式的效能和可用性。DevOps Guru 分擔任務找出操作問題,讓您快速落實建議來改善應用程式。如需詳細資訊,請參閱《Amazon DevOps Guru 使用者指南》中的什麼是 Amazon DevOps Guru?

DevOps Guru 偵測、分析所有 Amazon RDS 資料庫引擎的現有操作問題,並提出建議。DevOps Guru for RDS 擴大這種能力,將機器學習套用至 Amazon Aurora 資料庫的績效詳情指標。這些監控功能可讓 DevOps Guru for RDS 偵測和診斷效能瓶頸,並建議具體的修正動作。DevOps Guru for RDS 也可以在 Aurora 資料庫 中,於問題發生前偵測到異常情況。

您現在可以在 RDS 主控台中檢視這些建議。如需詳細資訊,請參閱Amazon Aurora 的建議

重要

Amazon DevOps Guru 不適用於 Aurora Serverless 資料庫叢集。

下列影片為 DevOps Guru for RDS.的概觀。

若要深入了解此主題,請參閱 Amazon DevOps Guru for RDS under the hood (Amazon DevOps Guru for RDS 幕後)。

DevOps Guru for RDS 的好處

如果您負責 Amazon Aurora 資料庫,您可能不知道已發生事件或退化而正在影響該資料庫。得知問題時,您可能不知道為何發生或如何處理。您不需要轉向資料庫管理員 (DBA) 求助,或依賴第三方工具,您可以遵循 DevOps Guru for RDS 的建議。

您可以從 DevOps Guru for RDS 的詳細分析中獲得下列好處:

快速診斷

DevOps Guru for RDS 持續監控並分析資料庫遙測。績效詳情、增強型監控和 Amazon CloudWatch 為您的資料庫叢集收集遙測資料。DevOps Guru for RDS 使用統計和機器學習技術來挖掘此資料並偵測異常。若要進一步了解遙測資料,請參閱《Amazon Aurora 使用者指南》中的在 Amazon Aurora 以績效詳情監控資料庫負載以增強型監控來監控 OS 指標,以及。

快速解決

每個異常都指出效能問題,並建議調查途徑或更正行動。例如,DevOps Guru for RDS 可能建議您調查特定的等待事件。或者,可能建議您調整應用程式集區設定,以限制資料庫連線的數目。採用這些建議,解決效能問題會比手動疑難排解更快。

主動式洞察

DevOps Guru for RDS 會使用資源中的指標,在潛在問題行為變得更嚴重之前進行偵測。例如,它可以偵測資料庫何時使用越來越多磁碟上暫存資料表,因為這可能會影響效能。DevOps Guru 會接著提供建議,協助您在問題變得更嚴重之前加以解決。

Amazon 工程師和機器學習的深厚知識

為了偵測效能問題並協助您解決瓶頸,DevOps Guru for RDS 仰賴機器學習 (ML) 和進階數學公式。Amazon 資料庫工程師以多年來管理數十萬個資料庫的底蘊,努力發展 DevOps Guru for RDS 的研究結果。憑藉此共同知識,DevOps Guru for RDS 可以教導您最佳實務。

DevOps Guru for RDS 的運作方式

DevOps Guru for RDS 從 Amazon RDS 績效詳情收集 Aurora 資料庫的相關資料。最重要的指標是 DBLoad。DevOps Guru for RDS 取用績效詳情指標、使用機器學習來分析指標,然後將洞察發佈至儀表板。

「洞察」是指 DevOps Guru 偵測到一堆相關異常。

在 DevOps Guru for RDS 中,異常是偏離所謂 Amazon Aurora 資料庫正常效能的一種模式。

主動式洞察

主動洞察可讓您在異常行為發生前了解該行為。它包含具有建議和相關指標的異常情況,可幫助您在問題擴大之前解決 Amazon Aurora 資料庫的問題。這些洞察會發佈在 DevOps Guru 儀表板。

例如,DevOps Guru 可能會偵測到您的 Aurora PostgreSQL 資料庫正在建立許多磁碟上暫存資料表。若未解決問題,之後可能導致效能問題。每個主動洞察都包含修正行為的建議,以及 使用 Amazon DevOps Guru 主動洞察,調校 Aurora MySQL使用 Amazon DevOps Guru 主動洞察,調校 Aurora PostgreSQL 中相關主題的連結。如需詳細資訊,請參閱《Amazon DevOps Guru 使用者指南》中的在 DevOps Guru 中使用洞察

反應式洞察

反應式洞察會在發生異常行為時有效識別。如果 DevOps Guru for RDS 在您的 Amazon Aurora 資料庫執行個體中發現效能問題,則會在 DevOps Guru 儀表板中發佈反應式洞察。如需詳細資訊,請參閱《Amazon DevOps Guru 使用者指南》中的在 DevOps Guru 中使用洞察

因果異常

因果異常是反應式洞察中最高等級的異常。資料庫負載 (DB 負載) 是 DevOps Guru for RDS 所謂的因果異常。

異常指派的嚴重性層級來測量效能影響。如需進一步了解,請參閱《Amazon DevOps Guru 使用者指南》中的 DevOps Guru for RDS 的重要概念

如果 DevOps Guru 在您的資料庫執行個體上偵測到目前異常,則會在 RDS 主控台的 Databases (資料庫) 頁面中提醒您。主控台還會提醒您過去 24 小時內發生的異常。若要從 RDS 主控台移至異常頁面,請選擇提醒訊息中的連結。RDS 主控台也會在頁面中提醒您注意 Amazon Aurora 資料庫叢集

情境異常

情境異常資料庫負載內的研究結果,與反應式洞察相關。每個情境異常描述一個需要調查的特定 Amazon Aurora 效能問題。例如,DevOps Guru for RDS 可能建議您考慮增加 CPU 容量,或調查導致資料庫負載的等待事件。

重要

建議您先在測試執行個體上測試任何變更,然後再修改生產執行個體。如此就可以了解變更的影響。

如需進一步了解,請參閱《Amazon DevOps Guru 使用者指南》中的分析 Amazon RDS 中的異常

設定 DevOps Guru for RDS

若要讓 DevOps Guru for Amazon RDS 發佈有關 Amazon Aurora 資料庫的洞察,請完成下列任務。

設定 DevOps Guru for RDS 的 IAM 存取政策

若要在 RDS 主控台中檢視 DevOpsGuru 的提醒,您的 AWS Identity and Access Management (IAM) 使用者或角色必須具有下列任一政策:

  • AWS 受管政策 AmazonDevOpsGuruConsoleFullAccess

  • AWS 受管政策和下列AmazonDevOpsGuruConsoleReadOnlyAccess任一政策:

    • AWS 受管政策 AmazonRDSFullAccess

    • 包含 pi:GetResourceMetricspi:DescribeDimensionKeys 的客戶受管政策

如需詳細資訊,請參閱設定績效詳情的存取政策

Aurora 資料庫執行個體開啟績效詳情

DevOps Guru for RDS 依賴績效詳情取得資料。如果沒有績效詳情,DevOps Guru 只發佈異常,但不包括詳細的分析和建議。

在建立 Aurora 資料庫叢集或修改資料庫執行個體時,您可以啟用績效詳情。如需詳細資訊,請參閱開啟和關閉 Aurora 的 Performance Insights

開啟 DevOps Guru 並指定資源涵蓋範圍

您可以開啟 DevOps Guru,使其以下列其中一個方式監控 Amazon Aurora 資料庫。

在 RDS 主控台開啟 DevOps Guru

Amazon RDS 主控台中有多種途徑可供您開啟 DevOps Guru。

建立 Aurora 資料庫時開啟 DevOps Guru

此建立工作流程中有一個設定可為資料庫開啟 DevOps Guru 涵蓋範圍。當您選擇 Production (生產) 範本時,此設定預設為開啟。

建立 Aurora 資料庫時開啟 DevOps Guru
  1. 登入 AWS 管理主控台 並開啟位於 https://https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 請按照 建立資料庫叢集 中的步驟進行,一直執行到 (但不包括) 您選擇監控設定的步驟。

  3. Monitoring (監控) 中,選擇 Turn on Performance Insights (開啟績效詳情)。若要讓 DevOps Guru for RDS 提供對效能異常的詳細分析,必須開啟 Performance Insights。

  4. 選擇 Turn on DevOps Guru (開啟 DevOps Guru)。

    建立資料庫叢集時開啟 DevOps Guru
  5. 為資料庫建立一個標籤讓 DevOps Guru 可以監控資料庫。請執行下列操作:

    • Tag key (標籤鍵) 的文字欄位中,輸入開頭為 Devops-Guru- 的名稱。

    • Tag value (標籤值) 的文字欄位中,輸入任何一個值。例如,如果您輸入 rds-database-1 作為 Aurora 資料庫的名稱,您也可以輸入 rds-database-1 作為標籤值。

    如需標籤的詳細資訊,請參閱《Amazon DevOps Guru 使用者指南》中的使用標籤識別 DevOps Guru 應用程式中的資源

  6. 完成建立資料庫叢集 中剩餘的步驟。

從通知橫幅開啟 DevOps Guru

如果 DevOps Guru 未涵蓋您的資源,則 Amazon RDS 會在以下位置透過橫幅通知您:

  • 資料庫叢集執行個體的 Monitoring (監控) 索引標籤

  • 績效詳情儀表板

DevOps Guru 橫幅
Aurora 資料庫開啟 DevOps Guru
  1. 在橫幅中,選擇 Turn on DevOps Guru for RDS (開啟 DevOps Guru for RDS)。

  2. 輸入標籤金鑰名稱與值。如需標籤的詳細資訊,請參閱《Amazon DevOps Guru 使用者指南》中的使用標籤識別 DevOps Guru 應用程式中的資源

    在 RDS 主控台開啟 DevOps Guru
  3. 選擇 Turn on DevOps Guru (開啟 DevOps Guru)。

開啟 DevOps Guru 時回應許可錯誤

如果您在建立資料庫時從 RDS 主控台開啟 DevOps Guru,RDS 可能會顯示下列與缺少許可相關的橫幅。

內含缺少許可錯誤的橫幅
回應許可錯誤
  1. 將使用者管理的角色 AmazonDevOpsGuruConsoleFullAccess 授予您的 IAM 使用者或角色。如需詳細資訊,請參閱設定 DevOps Guru for RDS 的 IAM 存取政策

  2. 開啟 RDS 主控台。

  3. 在導覽窗格中,選擇 Performance Insights (績效詳情)。

  4. 在叢集中選擇您剛剛建立的資料庫執行個體。

  5. 選擇切換以開啟DevOps Guru for RDS

    選擇切換以開啟 DevOps Guru for RDS
  6. 選擇一個標籤值。如需詳細資訊,請參閱《Amazon DevOps Guru 使用者指南》中的使用標籤識別 DevOps Guru 應用程式中的資源

    在 Amazon RDS 主控台開啟 DevOps Guru
  7. 選擇 Turn on DevOps Guru (開啟 DevOps Guru)。

在 DevOps Guru 主控台中新增 Aurora 資源

您可以在 DevOps Guru 主控台上指定您的 DevOps Guru 資源涵蓋範圍。依照《Amazon DevOps Guru 使用者指南》中指定 DevOps Guru 資源涵蓋範圍中所述的步驟進行。在編輯分析的資源時,請選擇下列其中一個選項:

如需詳細資訊,請參閱《Amazon DevOps Guru 使用者指南》中的啟用 DevOps Guru

使用 新增 Aurora 資源 CloudFormation

您可以使用標籤,將 Aurora 資源的涵蓋圍範新增至 CloudFormation 範本。下列程序假設您具有同時適用於 Aurora 資料庫執行個體和 DevOps Guru 堆疊的 CloudFormation 範本。

使用 CloudFormation 標籤指定 Aurora 資料庫執行個體
  1. 在適用於資料庫執行個體的 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
  2. 在 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: - "*"

如需詳細資訊,請參閱《CloudFormation 使用者指南》中的 AWS::DevOpsGuru::ResourceCollectionAWS::RDS::DBInstance