This post is also available in english.
Annoncé début novembre sur Elastic Cloud Hosted, AutoOps simplifie considérablement la gestion des clusters avec des recommandations de performance, des aperçus sur l'utilisation des ressources et les coûts, la détection en temps réel des problèmes et des pistes de résolution.
Parmi les centaines d'analyses différentes qu'AutoOps effectue chaque minute pour vérifier vos configurations, les métriques et la santé du cluster, l'une d'entre elles vous permet d'être alerté lorsque des requêtes de recherche prennent trop de temps et perturbent votre cluster. Voyons concrètement comment cela fonctionne.
L'avantage d'AutoOps pour Elastic Cloud Hosted, c'est qu'il n'y a rien à faire de votre part. Lorsque vous déployez un nouveau cluster dans une région supportée, un agent AutoOps y est automatiquement attaché, et en quelques minutes, les métriques commencent à être envoyées, les analyses se lancent et des événements sont générés dès qu'un problème est détecté.
Il n'est pas nécessaire d'activer les Slow Logs et de configurer Filebeat pour les lire et les indexer, cela fonctionne directement grâce à une surveillance régulière et minutieuse de l'API de gestion des tâches.
En allant sur Deployment View dans AutoOps, vous avez immédiatement accès à un historique des événements récents. Dans la capture d'écran ci-dessous, nous pouvons voir qu'un événement "Long running search task" a été ouvert récemment.
En cliquant sur l'événement, un panneau latéral s'ouvre et vous montre le DSL de la requête de recherche lente détectée, ainsi qu'une série d'informations relatives au contexte d'exécution de cette requête. Examinons les informations disponibles dans la capture d'écran ci-dessous.
-
Tout d'abord, vous obtenez un lien vers le nœud où la requête longue a été détectée, c'est-à-dire
instance-0000000223
. Ce lien vous permet de passer directement à Nodes View où vous trouverez une multitude de métriques et d'informations sur ce nœud spécifique. -
Ensuite, vous verrez également sur quels index la requête a été exécutée, à savoir
logs-apache.error-default
,logs-nginx.error-default
et deux autres index. En cliquant sur ces index, vous serez redirigé vers Shards View, qui vous permettra de voir la répartition détaillée des shards de ces index sur le nœud identifié, ainsi que tous les shards des autres index présents sur ce nœud. Cette vue vous aidera à détecter s'il existe des points de contention responsables de la lenteur de la requête. -
En creusant plus profondément, nous pouvons voir qu'une analyse de la requête a eu lieu et qu'AutoOps a mis en évidence plusieurs raisons potentielles de la lenteur de la requête. Dans ce cas, nous pouvons observer que :
- la requête a été exécutée sur un intervalle de 30 jours, ce qui pourrait correspondre à un grand volume de données ;
- il y a des agrégations imbriquées, connues pour être lentes à exécuter ;
- la réponse pourrait contenir jusqu'à 20 000 buckets d'agrégation, ce qui pourrait solliciter beaucoup de mémoire sur le nœud.
Il existe d'autres règles de détection pour les requêtes utilisant des expressions régulières ou des scripts, et de nouvelles règles sont ajoutées régulièrement.
-
Enfin, il y a d'autres informations à propos du contexte de la requête de recherche, telles que :
- depuis combien de temps elle est en cours d'exécution ;
- si elle peut être annulée ou non ;
- tous les en-têtes attachés à l'appel HTTP. Dans ce cas, nous voyons le
trace.id
(qui facilite sa recherche dans APM), mais aussi leX-Opaque-Id
qui contient une indication sur le client ayant envoyé cette requête. Ici, nous voyons que la requête provient d'une règle d'alerte SIEM dans Kibana, mais cela pourrait aussi être une visualisation, un tableau de bord ou même un utilisateur exécutant une requête directement dans Dev Tools.
Mais attendez, ce n'est pas tout !! AutoOps ne détecte pas seulement les longues requêtes DSL, mais aussi les longues requêtes ES|QL, comme on peut le voir sur la capture d'écran ci-dessous.
Comme vous pouvez le voir, AutoOps peut vous aider à détecter les requêtes de recherche longues et à extraire une multitude d'informations à leur sujet. Et tout cela gratuitement pour les utilisateurs d'Elastic Cloud ! Avec Elastic, la vie est fantastique !