Gestion des tâches Elasticsearch

Gestion des tâches Elasticsearch
«Dans cet article, nous examinerons l'une des API expérimentales Elasticsearch (au moment de la rédaction de ce guide) qui nous permet de voir des informations sur les tâches en cours d'exécution dans un cluster.

La gestion des tâches est un facteur énorme pour tout administrateur, et lorsque vous travaillez avec un système complexe comme Elasticsearch, vous devrez faire une surveillance des tâches."

Couvrons ce que cette API implique et comment elle peut vous aider en tant qu'administrateur SYS.

Remarque: Selon les paramètres de configuration de votre cluster et de sécurité, cette API peut nécessiter des privilèges de moniteur.

Demander une syntaxe

Ce qui suit montre la syntaxe pour envoyer la demande à l'API de gestion des tâches.

Get / _tasks /
Get / _Tasks

Une fois que vous demandez l'API, la commande doit renvoyer des informations détaillées sur les tâches actuelles ou la tâche avec l'ID spécifié.

Demander des paramètres de chemin

La demande prend en charge un paramètre de chemin:

  • - une valeur d'identification unique pour la tâche dont vous souhaitez récupérer les informations. L'ID de tâche suit le motif node_id: task_number.

Demander des paramètres de requête

Pour personnaliser le comportement et le format de retour de la requête, vous pouvez spécifier les paramètres suivants:

  1. Actions - Cela définit un ensemble d'actions utilisées pour limiter la demande. Ici, vous pouvez définir les actions comme une liste de valeurs séparées par des virgules.
  2. Détaillé - Il s'agit d'un paramètre booléen qui définit si la demande affiche des informations détaillées sur les récupérations des fragments ou non. Cette option est par défaut fausse
  3. Group_By - Définit les clés utilisées pour regrouper les tâches de la réponse. Les valeurs acceptées incluent:
    • NODES - ID de nœud.
    • Parents - ID parent.
    • Nœud - ne groupons pas.
  4. Node_id - définit le nœud ou une liste de nœuds à partir de laquelle récupérer les informations.
  5. parent_task_id - définit l'ID parent utilisé pour filtrer les informations de réponse. Pour afficher toutes les tâches, spécifiez le parent_task_id comme -1.
  6. Master_timeout - Spécifie la durée à laquelle la demande attend une connexion au nœud maître. Si la demande ne reçoit pas de réponse du maître après que la durée Master_timeout est écoulée, elle échoue et renvoie une erreur. La durée par défaut est définie sur 30 sec.
  7. Timeout - similaire à Master_timeout, mais cette valeur définit la durée sur laquelle attendre toute réponse.
  8. Wait_for_completion - Si vrai, la demande est bloquée jusqu'à ce que l'opération sort. Par défaut est faux.

Réponse

En cas de succès, la demande renverra des informations détaillées sur la tâche ou les tâches spécifiées. Si la tâche n'est pas trouvée, la demande renvoie un code 404-statut.

Exemple d'utilisation

L'exemple suivant montre comment utiliser l'API de gestion des tâches pour afficher des informations sur toutes les tâches exécutées dans le cluster (tous les nœuds).

curl -xget "http: // localhost: 9200 / _tasks" -h "kbn-xsrf: reporting"

La demande doit fournir des informations sur les tâches du cluster, comme indiqué dans la sortie ci-dessous:

Exemple 2

Dans l'exemple suivant, nous utilisons le paramètre des nœuds pour limiter la réponse aux seuls tâches qui s'exécutent dans le nœud Slave_1

curl -xget "http: // localhost: 9200 / _tasks?nœuds = esclave_1 "-h" kbn-xsrf: reportage "

Cela devrait renvoyer les tâches dans le nœud spécifié comme indiqué dans la sortie ci-dessous:

"Tâches":
"Fit416fgr1gjefjxoxlurw: 1651265":
"nœud": "esclave_1",
"ID": 1651265,
"Type": "Transport",
"Action": "Indices: Monitor / Fleet / Global_checkpoints",
"start_time_in_millis": 1664214054489,
"running_time_in_nanos": 94450056094,
"annuable": faux,
"en-têtes":
"Origine X-Elastic-Product": "Flotte"

Exemple 3

Dans l'exemple 3, nous utilisons l'API de gestion des tâches pour afficher des informations sur la tâche avec l'ID spécifié:

curl -xget "http: // localhost: 9200 / _tasks / fit416fgr1gjefjxoxlurw: 1656310" -h "kbn-xsrf: reportage"

Les informations de tâche de sortie sont telles que montrées:

Exemple 4

Pour afficher des informations détaillées sur la tâche, ajoutez le paramètre détaillé à la demande comme indiqué:

curl -xget "http: // localhost: 9200 / _tasks?Détaillé = Vrai "-H" KBN-XSRF: Rapports "

Cela devrait fournir des informations supplémentaires sur les tâches:

Conclusion

Cet article a exploré comment utiliser l'API de gestion des tâches dans Elasticsearch. Cette API nous permet de récupérer des informations sur les tâches en cours d'exécution dans le cluster.

Acclamations!! Et je vous attraperai dans le prochain.