本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-TroubleshootOpenSearchHighCPU
Description
AWSSupport-TroubleshootOpenSearchHighCPU
Runbook 提供自動化的解決方案,可從 Amazon OpenSearch 服務網域收集診斷資料,以對 CPU 高
它是如何工作的?
AWSSupport-TroubleshootOpenSearchHighCPU
執行手冊有助於疑難排解 Amazon OpenSearch 服務網域中的 CPU 使用率過高。
執行手冊執行下列步驟:
-
針對提供的 Amazon OpenSearch 服務網域執行 DescribeDomainAPI,以取得叢集中繼資料。
-
檢查 Amazon OpenSearch 服務網域是公有網域還是以 Amazon 虛擬私人雲端為基礎 AWS CloudFormation,並在的協助下建立公用或以 Amazon V AWS Lambda PC 為基礎的函數。
-
Lambda 函數會從 Amazon OpenSearch 服務網域擷取診斷資料。
-
使用 AWS Step Functions 狀態機器協調多個 Lambda 函數執行,以收集更全面的資料。
-
依預設,將收集的資料存放在 Amazon CloudWatch 日誌群組中 24 小時。
-
刪除建立的資源 ( CloudWatch 記錄群組除外)。
必要的 IAM 許可
此AutomationAssumeRole
參數需要下列動作才能成功使用 runbook。
cloudformation:CreateStack
cloudformation:CreateStack
cloudformation:DescribeStacks
cloudformation:DescribeStackEvents
cloudformation:DeleteStack
lambda:CreateFunction
lambda:DeleteFunction
lambda:InvokeFunction
lambda:GetFunction
lambda:TagResource
es:DescribeDomain
ec2:DescribeSecurityGroups
ec2:DescribeSubnets
ec2:DescribeVpcs
ec2:DescribeNetworkInterfaces
ec2:CreateNetworkInterface
ec2:DescribeInstances
ec2:AttachNetworkInterface
ec2:DeleteNetworkInterface
logs:CreateLogGroup
logs:PutRetentionPolicy
logs:TagResource
states:CreateStateMachine
states:DeleteStateMachine
states:StartExecution
states:TagResource
states:DescribeStateMachine
states:DescribeExecution
iam:PassRole
iam:CreateRole
iam:DeleteRole
iam:GetRole
iam:PutRolePolicy
iam:DeleteRolePolicy
ssm:DescribeAutomationExecutions
ssm:GetAutomationExecution
LambdaExecutionRole
參數需要下列動作才能成功使用 runbook:
es:ESHttpGet
ec2:CreateNetworkInterface
ec2:DescribeNetworkInterfaces
ec2:DeleteNetworkInterface
logs:CreateLogStream
logs:PutLogEvents
Lambda 執行角色授予函數存取此手冊所需 AWS 服務和資源的權限。如需更多詳細資訊,請參閱 Lambda 執行角色。
注意
只ec2:DeleteNetworkInterface
有當您的ec2:DescribeNetworkInterfaces
OpenSearch 服務叢集是以 Amazon 虛擬私人雲端為基礎 ec2:CreateNetworkInterface
,以允許 Lambda 函數建立和管理 Amazon VPC 網路界面時,才需要、和。如需詳細資訊,請參閱將輸出網路連線至 Amazon VPC 和 Lambda 執行角色中的資源。
指示
請依照下列步驟設定自動化操作:
瀏覽至主 AWS Systems Manager 控台中的 AWSSupport-TroubleshootOpenSearchHigh CPU
。 選擇 Execute automation (執行自動化)。
-
對於輸入參數,請輸入以下內容:
-
AutomationAssumeRole (選擇性):
(IAM) 角色的 Amazon 資源名稱 AWS Identity and Access Management (ARN),可讓 Systems Manager 自動化代表您執行動作。如果未指定角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。
-
DomainName (必填):
您要針對 CPU 過高問題進行疑難排解的 Amazon OpenSearch 服務網域名稱。
-
LambdaExecutionRoleForOpenSearch (必填):
要連接至 Lambda 函數的 IAM 角色的 ARN。Lambda 函數使用此角色的登入資料,將請求簽署到 Amazon OpenSearch 服務網域。如果在 Amazon OpenSearch 服務網域上啟用了精細的存取控制,則必須將此角色對應至少具有「cluster_monitor」權限的 OpenSearch 服務儀表板後端角色。
-
DataRetentionDays (選擇性):
保留從 Amazon OpenSearch 服務網域收集的診斷資料的天數。依預設,資料會保留 24 小時 (一天)。您可以選擇保留資料最多 30 天。
-
NumberOfDataSamples (選擇性):
要從 Amazon OpenSearch 服務網域收集的資料樣本數量。依預設,會收集 5 個資料樣本。您最多可以收集 10 個樣本,並針對每個樣本集合叫用 Lambda 函數。
-
-
如果您已在 OpenSearch Service 叢集上啟用精細的存取控制,請確定
LambdaExecutionRole
角色 arn 已對應至少cluster_monitor
具有權限的角色。 -
選取執行。
-
自動化啟動。
-
自動化工作流程簿執行下列步驟:
-
並行檢查:
確保只有一個執行此手冊針對指定的 Amazon OpenSearch 服務域。如果 runbook 找到另一個針對相同網域名稱的執行,則會傳回錯誤並結束。
-
getDomainConfig:
取得目標 OpenSearch 服務網域的組態詳細資訊。
-
佈建資源:
規定資源使用的數據收集 AWS CloudFormation.
-
waitForStack創作:
等待 AWS CloudFormation 堆棧完成。
-
describeStackResources:
描述 AWS CloudFormation 堆疊並取得狀態機器的 ARN。
-
runStateMachine:
透過執行 Step Functions 函數狀態機器叫用資料收集器 Lambda 函數一或多次。
-
describeErrorsFromStackEvents:
描述錯誤 AWS CloudFormation 堆疊中的錯誤。
-
unstageOpenSearch高 CPU 自動化:
刪除
AWSSupport-TroubleshootOpenSearchHighCPU
AWS CloudFormation 堆疊。 -
describeErrorsFromStackDeletion:
說明刪除 AWS CloudFormation 堆疊時遇到的錯誤。
-
最終狀態:
返回工作
AWSSupport-TroubleshootOpenSearchHighCPU
簿的最終輸出。
-
-
完成後,請檢閱「輸出」區段以取得執行的詳細結果。
-
最終狀態。 FinalOutput:
提供儲存診斷資料的 CloudWatch 記錄群組。
-
參考
Systems Manager Automation
AWS 服務文件
-
如需詳細資訊,請參閱疑難排解 Amazon OpenSearch 服務