Comment puis-je résoudre les problèmes de journaux lents dans Amazon OpenSearch Service ?

Date de la dernière mise à jour : 30/07/2021

J'ai activé la recherche dans les journaux lents pour mon domaine Amazon OpenSearch Service (successeur d'Amazon Elasticsearch Service). Cependant, un message d'erreur s'affiche ou les journaux lents n'apparaissent pas dans mon groupe de journaux Amazon CloudWatch. Comment résoudre ce problème ?

Résolution

Un message d'erreur s'affiche lorsque j'essaie de configurer des journaux lents

Si votre compte AWS compte plus de 10 stratégies de ressources pour votre région, le message d'erreur suivant s'affiche dans Amazon CloudWatch Logs :

"Unable to create the Resource Access Policy - You have reached the maximum limit for number of Resource Access Policies for CloudWatch Logs. Please select an existing policy and edit it or delete an older policy and try again."

Pour résoudre ce message d'erreur, créez une politique de ressource qui inclut plusieurs groupes de journaux.

Par exemple :

{
    "Version": "2012-10-17",
    "Statement": [
        {
         "Effect": "Allow",
         "Principal": {
         "Service": "es.amazonaws.com"
        },
        "Action": [
         "logs:PutLogEvents",
         "logs:CreateLogStream"
        ],
        "Resource": [
         "ARN-Log-Group-1",
         "ARN-Log-Group-2",
         "ARN-Log-Group-3",
         "ARN-Log-Group-4"
        }
    ]
}

Remarque : la limite de politique AWS Identity and Access Management (IAM) ne peut pas être augmentée.

Je ne vois aucun journal lent envoyé.

Si vous ne voyez pas que vos journaux lents sont envoyés à CloudWatch, vérifiez votre politique IAM ou les seuils OpenSearch Service.

Étant donné que OpenSearch Service nécessite l'autorisation d'écrire dans CloudWatch Logs, vous devez disposer de la politique IAM appropriée pour consigner vos requêtes. Pour mettre à jour votre politique IAM, accédez à Rechercher les journaux lents, puis choisissez Sélectionner l'installation.

Par exemple :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "es.amazonaws.com"
      },
      "Action": [
        "logs:PutLogEvents",
        "logs:CreateLogStream"
      ],
      "Resource": "arn:aws:logs:us-east-1:588671893395:log-group:/aws/aes/domains/myes/search-logs:*"
    }
  ]
}

Assurez-vous également de définir un seuil de synchronisation approprié pour votre domaine. Par exemple, si toutes vos demandes ont abouti avant le seuil défini, vos journaux ne seront pas envoyés à votre groupe de journaux.

Vous pouvez également définir des seuils de niveau INDEX individuels pour chaque niveau de débogage (TRACE, DEBUG, INFO et WARN).

Par exemple, vous pouvez définir le seuil des niveaux de débogage WARN à dix secondes pour l'index YOURINDEXNAME dans les tableaux de bord OpenSearch :

PUT /YOURINDEXNAME/_settings{"index.search.slowlog.threshold.query.warn": "10s"}

Remarque : vous pouvez définir TRACE sur « 0 » millisecondes pour enregistrer toutes les requêtes de votre domaine. Toutefois, étant donné que la journalisation de toutes les requêtes nécessite beaucoup de ressources, les performances de votre domaine peuvent être affectées.

Ensuite, vérifiez votre seuil à l'aide de la commande suivante :

GET/YOURINDEXNAME/_settings?pretty

OpenSearch Service journalise toutes les requêtes qui dépassent le seuil défini.

Bonnes pratiques

  • Évitez d'apporter plusieurs modifications de configuration, telles que l'activation ou la désactivation des journaux publiés sur CloudWatch, en même temps. Un trop grand nombre de modifications de configuration simultanées déclenche plusieurs déploiements bleu/vert. Plusieurs déploiements bleu/vert peuvent entraîner le blocage du domaine OpenSearch Service dans un état de traitement. Pour plus d'informations sur le déploiement bleu/vert, veuillez consulter la rubrique Effectuer des modifications de configuration dans OpenSearch Service.
  • Définissez votre seuil pour la phase de requête et celle de récupération afin d'identifier les requêtes de recherche lentes.
  • Effectuez un test avec une valeur de seuil faible et augmentez lentement le seuil pour consigner uniquement les requêtes qui affectent les performances ou nécessitent une optimisation.
  • Choisissez le nombre de partitions approprié pour votre cluster afin d'optimiser ses performances. Pour plus d'informations sur la maintenance des partitions, veuillez consulter les bonnes pratiques d'Amazon OpenSearch Service.
  • Pour les journaux lents, activez la journalisation aux niveaux de débogage TRACE, DEBUG, INFO et WARN. Étant donné que chaque niveau de débogage consigne différentes catégories d'informations, il est recommandé d'activer la journalisation selon le statut de la demande.