View a markdown version of this page

AWSSupport-TroubleshootOpenSearchHighCPU - AWS Systems Manager Référence du dossier d’exploitation Automation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWSSupport-TroubleshootOpenSearchHighCPU

Description

Le AWSSupport-TroubleshootOpenSearchHighCPU runbook fournit une solution automatisée pour collecter des données de diagnostic à partir d'un domaine Amazon OpenSearch Service afin de résoudre les problèmes liés à un processeur https://repost.aws/knowledge-center/opensearch-troubleshoot-high-cpu élevé.

Fonctionnement

Le AWSSupport-TroubleshootOpenSearchHighCPU runbook permet de résoudre les problèmes liés à l'utilisation élevée du processeur dans le domaine Amazon OpenSearch Service.

Le runbook exécute les étapes suivantes :

  • Exécute l'DescribeDomainAPI sur le domaine Amazon OpenSearch Service fourni pour obtenir les métadonnées du cluster.

  • Vérifie si le domaine Amazon OpenSearch Service est public ou Amazon VPC-based et, à l'aide de CloudFormation, crée une VPC-based AWS Lambda fonction publique ou Amazon.

  • La fonction Lambda extrait les données de diagnostic des domaines Amazon OpenSearch Service.

  • Utilise une machine à AWS Step Functions états pour orchestrer plusieurs exécutions de fonctions Lambda afin de recueillir des données plus complètes.

  • Stocke les données collectées dans un groupe de CloudWatch journaux Amazon pendant 24 heures par défaut.

  • Supprime les ressources créées, à l'exception du groupe de CloudWatch journaux.

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

LinuxmacOS, Windows

Paramètres

Autorisations IAM requises

Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le 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

Note

Lesiam:CreateRole,iam:DeleteRole, iam:GetRole iam:PutRolePolicyiam:PutRolePolicy, et ne iam:DeleteRolePolicy sont obligatoires que si vous n'utilisez pas de rôle IAM existant pour le paramètre LambdaInvocationRoleForStepFunctions

Le LambdaExecutionRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook :

  • es:ESHttpGet

  • ec2:CreateNetworkInterface

  • ec2:DescribeNetworkInterfaces

  • ec2:DeleteNetworkInterface

  • logs:CreateLogStream

  • logs:PutLogEvents

Le rôle d'exécution Lambda accorde à la fonction l'autorisation d'accéder aux AWS services et aux ressources requis par ce runbook. Pour plus d’informations, consultez Rôle d’exécution Lambda.

Note

Les ec2:DescribeNetworkInterfacesec2:CreateNetworkInterface, et ne ec2:DeleteNetworkInterface sont requis que si votre cluster de OpenSearch services est Amazon VPC-based pour permettre à la fonction Lambda de créer et de gérer les interfaces réseau Amazon VPC. Pour plus d'informations, consultez Connexion du réseau sortant aux ressources d'un rôle d'exécution Amazon VPC et Lambda.

Le LambdaInvocationRoleForStepFunctions paramètre autorise la machine à AWS Step Functions états à invoquer la fonction Lambda. Voici un exemple de politique IAM qui autorise Step Functions à invoquer la fonction Lambda qui extrait les données de diagnostic du domaine de service. OpenSearch Pour plus d'informations, consultez la section Création d'un rôle IAM de machine à états dans le Guide AWS Step Functions du développeur.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:us-east-1:111122223333:function:AWSSupport-HighCPU-*" ] } ] }

Instructions

Pour configurer l'automatisation, procédez comme suit :

  1. Accédez à AWSSupport-TroubleshootOpenSearchHighCPU dans la AWS Systems Manager console.

  2. Sélectionnez Execute automation (Exécuter l'automatisation).

  3. Pour les paramètres d'entrée, entrez les informations suivantes :

    • AutomationAssumeRole (Facultatif) :

      Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui démarre ce runbook.

    • DomainName (Obligatoire) :

      Nom du domaine Amazon OpenSearch Service que vous souhaitez résoudre en cas de problèmes liés à un processeur élevé.

    • LambdaExecutionRoleForOpenSearch(Obligatoire) :

      L'ARN du rôle IAM à associer à la fonction Lambda. La fonction Lambda utilise les informations d'identification de ce rôle pour signer les demandes adressées au domaine Amazon OpenSearch Service. Si un contrôle d'accès précis est activé sur le domaine Amazon OpenSearch Service, vous devez mapper ce rôle à un rôle principal de OpenSearch Service Dashboards avec une autorisation minimale de type « cluster_monitor ».

    • LambdaInvocationRoleForStepFunctions(Facultatif) :

      (Facultatif) L'ARN du rôle IAM à associer au flux de travail Step Functions. La machine d'état utilise les informations d'identification de ce rôle pour appeler la fonction Lambda qui extrait les données de diagnostic du OpenSearch domaine de service. Si aucun rôle n'est spécifié, cette automatisation créera un rôle IAM pour Step Functions dans votre compte.

    • DataRetentionDays (Facultatif) :

      Le nombre de jours nécessaires pour conserver les données de diagnostic collectées auprès du domaine Amazon OpenSearch Service. Par défaut, les données sont conservées pendant 24 heures (un jour). Vous pouvez choisir de conserver les données pendant une durée maximale de 30 jours.

    • NumberOfDataSamples (Facultatif) :

      Le nombre d'échantillons de données à collecter auprès du domaine Amazon OpenSearch Service. Par défaut, 5 échantillons de données sont collectés. Vous pouvez collecter jusqu'à 10 échantillons et la fonction Lambda sera invoquée pour chaque collecte d'échantillons.

  4. Si vous avez activé un contrôle d'accès précis sur un cluster de OpenSearch services, assurez-vous que le LambdaExecutionRole rôle arn est mappé à un rôle avec au moins une autorisation. cluster_monitor

    Onglet Cluster Autorisations affichant la section des autorisations avec l'autorisation cluster_monitor sélectionnée.
    Section des rôles principaux présentant un ARN de rôle Lambda d'exécution avec le bouton Supprimer et l'option Map.
  5. Sélectionnez Exécuter.

  6. L'automatisation démarre.

  7. Le runbook d'automatisation exécute les étapes suivantes :

    • Vérifiez la simultanéité :

      Garantit qu'il n'y a qu'une seule exécution de ce runbook ciblant le domaine Amazon OpenSearch Service spécifié. Si le runbook trouve une autre exécution ciblant le même nom de domaine, il renvoie une erreur et s'arrête.

    • obtenir DomainConfig :

      Obtient les détails de configuration du domaine OpenSearch de service cible.

    • Ressources d'approvisionnement :

      Fournit les ressources pour la collecte de données à l'aide de CloudFormation.

    • attendez ForStackCreation :

      Attend que la CloudFormation pile soit terminée.

    • décrivez StackResources :

      Décrit la CloudFormation pile et obtient l'ARN de la machine d'état.

    • courir StateMachine :

      Invoque la fonction Lambda du collecteur de données une ou plusieurs fois en exécutant une machine à états Step Functions.

    • décrire ErrorsFromStackEvents :

      Décrit les erreurs provenant de la CloudFormation pile d'erreurs.

    • sur scène OpenSearchHighCPUAutomation :

      Supprime la AWSSupport-TroubleshootOpenSearchHighCPU CloudFormation pile.

    • décrire ErrorsFromStackDeletion :

      Décrit les erreurs rencontrées lors de la suppression de la CloudFormation pile.

    • État final :

      Renvoie la sortie finale du AWSSupport-TroubleshootOpenSearchHighCPU runbook.

  8. Une fois terminé, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution.

    • finale Status.FinalOutput :

      Fournit le groupe de CloudWatch journaux dans lequel les données de diagnostic sont stockées.

    Section des sorties montrant la version finale Status.FinalOutput avec un message de fin de collecte de données sur les fils actifs et une référence au groupe de CloudWatch journaux.

Références

Systems Manager Automation

AWS documentation de service