AWSSupport-TroubleshootOpenSearchHighCPU - AWS Systems Manager 自动化运行手册参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWSSupport-TroubleshootOpenSearchHighCPU

描述

AWSSupport-TroubleshootOpenSearchHighCPU运行手册提供了一种自动解决方案,用于从 Amazon S OpenSearch ervice 域收集诊断数据,以解决高CPU问题。

如何工作?

AWSSupport-TroubleshootOpenSearchHighCPU运行手册有助于解决亚马逊 OpenSearch 服务域的高CPU利用率问题。

运行手册执行以下步骤:

  • DescribeDomainAPI对提供的 Amazon S OpenSearch ervice 域运行以获取集群元数据。

  • 检查 Amazon S OpenSearch ervice 域是公共域还是VPC基于亚马逊的域 AWS CloudFormation,并在的帮助下创建公共 AWS Lambda 函数或VPC基于亚马逊的函数。

  • Lambda 函数从亚马逊 OpenSearch 服务域中获取诊断数据。

  • 使用 AWS Step Functions 状态机协调多个 Lambda 函数执行,以收集更全面的数据。

  • 默认情况下,将收集的数据存储在 Amazon CloudWatch 日志组中 24 小时。

  • 删除已创建的资源,但 CloudWatch 日志组除外。

文档类型

自动化

所有者

Amazon

平台

Linux、macOS、Windows

参数

所需IAM权限

AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。

  • 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参数需要以下操作才能成功使用运行手册:

  • es:ESHttpGet

  • ec2:CreateNetworkInterface

  • ec2:DescribeNetworkInterfaces

  • ec2:DeleteNetworkInterface

  • logs:CreateLogStream

  • logs:PutLogEvents

Lambda 执行角色向该函数授予访问本运行手册所需的 AWS 服务和资源的权限。有关更多信息,请参阅 Lambda 执行角色

注意

仅当您的 OpenSearch 服务集群VPC基于亚马逊时,才需要ec2:DescribeNetworkInterfacesec2:CreateNetworkInterface、和ec2:DeleteNetworkInterface,以允许 Lambda 函数创建和管理亚马逊VPC网络接口。有关更多信息,请参阅将出站联网连接到 Amazon VPC 和 Lambda 执行角色中的资源。

说明

按照这些步骤对自动化进行配置:

  1. 在 AWS Systems Manager 控制台TroubleshootOpenSearchHighCPU中导航到 AWSSupport-

  2. 选择 Execute automation(执行自动化)。

  3. 要输入参数,请输入以下内容:

    • AutomationAssumeRole (可选):

      () 角色的亚马逊资源名称 (ARN), AWS Identity and Access Management 允许 Systems Manager Automation 代表您执行操作。IAM如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

    • DomainName (必填):

      您要针对严重CPU问题进行故障排除的 Amazon S OpenSearch ervice 域的名称。

    • LambdaExecutionRoleForOpenSearch(必填):

      要附加到 Lambda 函数的IAM角色类型。ARNLambda 函数使用此角色的证书签署对亚马逊 OpenSearch 服务域的请求。如果在 Amazon Ser OpenSearch vice 域上启用了精细访问控制,则必须将此角色映射到至少具有 “cluster_monitor” 权限的 OpenSearch 服务控制面板后端角色。

    • DataRetentionDays (可选):

      保留从 Amazon OpenSearch 服务域收集的诊断数据的天数。默认情况下,数据保留 24 小时(一天)。您可以选择将数据最多保留 30 天。

    • NumberOfDataSamples (可选):

      要从 Amazon OpenSearch 服务域中收集的数据样本数量。默认情况下,会收集 5 个数据样本。您最多可以收集 10 个样本,并且将为每个样本集合调用 Lambda 函数。

    Input parameters form for AWS Systems Manager Automation with fields for roles and settings.
  4. 如果您已在 S OpenSearch ervice 集群上启用了精细访问控制,请确保将LambdaExecutionRole角色 arn 映射到至少具有权限的角色。cluster_monitor

    集群 permissions section showing cluster_monitor permission granted.
    Backend roles interface showing an AWSIAM role for Lambda execution and options to remove or add roles.
  5. 选择执行。

  6. 自动化启动。

  7. 自动化运行手册执行以下步骤:

    • checkConcurrency:

      确保只有一次针对指定的 Amazon S OpenSearch ervice 域名执行此操作手册。如果 runbook 发现另一次针对相同域名的执行,则会返回错误并结束。

    • getDomainConfig:

      获取目标 OpenSearch 服务域的配置详细信息。

    • provisionResources:

      使用配置用于数据收集的资源 AWS CloudFormation。

    • waitForStack创作:

      等待 AWS CloudFormation 堆栈完成。

    • describeStackResources:

      描述 AWS CloudFormation 堆栈并获取状态ARN机的堆栈。

    • runStateMachine:

      通过运行 Step Functions 状态机来调用数据收集器 Lambda 函数一次或多次。

    • describeErrorsFromStackEvents:

      描述 AWS CloudFormation 堆栈中的错误是否存在错误。

    • unstageOpenSearchHighCPUAutomation:

      删除AWSSupport-TroubleshootOpenSearchHighCPU AWS CloudFormation 堆栈。

    • describeErrorsFromStackDeletion:

      描述删除 AWS CloudFormation 堆栈时遇到的错误。

    • finalStatus:

      返回AWSSupport-TroubleshootOpenSearchHighCPU运行手册的最终输出。

  8. 完成后,查看“输出”部分以了解执行的详细结果。

    • finalStatus.FinalOutput:

      提供存储诊断数据的 CloudWatch 日志组。

    Output message indicating hot thread data collection completed with log group details.

参考

Systems Manager Automation

AWS 服务文档