View a markdown version of this page

AWSSupport-TroubleshootOpenSearchHighCPU - AWS Systems Manager Référence du manuel d'automatisation

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 de processeur élevés.

Fonctionnement

Le AWSSupport-TroubleshootOpenSearchHighCPU runbook permet de résoudre les problèmes d'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 récupère les données de diagnostic depuis les 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 nécessaires 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 Connecter le réseau sortant aux ressources dans un rôle d'exécution Amazon VPC et Lambda.

Le LambdaInvocationRoleForStepFunctions paramètre autorise AWS Step Functions State Machine à appeler la fonction Lambda. Voici un exemple de politique IAM qui accorde à Step Functions l'autorisation d'appeler la fonction Lambda qui extrait les données de diagnostic depuis OpenSearch le domaine Service. 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 au AWSSupport-TroubleshootOpenSearchHighCPUdans la AWS Systems Manager console.

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

  3. Pour les paramètres d'entrée, entrez ce qui suit :

    • AutomationAssumeRole (Facultatif) :

      Amazon Resource Name (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 lance ce runbook.

    • DomainName (Obligatoire) :

      Le nom du domaine Amazon OpenSearch Service que vous souhaitez résoudre en cas de problèmes de processeur élevés.

    • 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 le contrôle d'accès détaillé est activé sur le domaine Amazon OpenSearch Service, vous devez associer ce rôle à un rôle principal de OpenSearch Service Dashboards avec une autorisation minimale de « 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 depuis le 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 pendant lesquels les données de diagnostic collectées à partir du domaine Amazon OpenSearch Service sont conservées. 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 à partir 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é le contrôle d'accès détaillé sur un cluster de OpenSearch services, assurez-vous que l'ARN du LambdaExecutionRole rôle est mappé à un rôle disposant d'au moins une autorisation. cluster_monitor

    Onglet Autorisations affichant la section Cluster des autorisations pour laquelle l'autorisation cluster_monitor est sélectionnée.
    Section des rôles de backend 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 se termine.

    • obtenir DomainConfig :

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

    • Ressources d'approvisionnement :

      Fournit les ressources nécessaires à 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 à états.

    • exécuter StateMachine :

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

    • décrivez ErrorsFromStackEvents :

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

    • sur scène OpenSearchHighCPUAutomation :

      Supprime la AWSSupport-TroubleshootOpenSearchHighCPU CloudFormation pile.

    • décrivez ErrorsFromStackDeletion :

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

    • État final :

      Renvoie le résultat final du AWSSupport-TroubleshootOpenSearchHighCPU runbook.

  8. Une fois terminé, consultez la section Sorties pour connaître 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 affichant la version finale Status.FinalOutput avec le message d'achèvement de la collecte des données du hot thread et la référence au groupe de CloudWatch journaux.

Références

Systems Manager Automation

AWS documentation de service