Gestión de tareas de elasticsearch

Gestión de tareas de elasticsearch
"En esta publicación, analizaremos una de las API experimentales de ElasticSearch (al momento de escribir esta guía) que nos permite ver la información sobre las tareas de ejecución actualmente en un clúster.

La gestión de tareas es un factor enorme para cualquier administrador, y cuando se trabaja con un sistema complejo como ElasticSearch, deberá realizar un monitoreo de tareas."

Permítanos cubrir lo que implica esta API y cómo puede ayudarlo como administrador de SYS.

Nota: Dependiendo de la configuración de su clúster y la configuración de seguridad, esta API puede requerir privilegios de monitor.

Solicitar sintaxis

Lo siguiente muestra la sintaxis para enviar la solicitud a la API de administración de tareas.

Get /_Tasks /
Get /_Tasks

Una vez que solicite la API, el comando debe devolver información detallada sobre las tareas actuales o la tarea con la ID especificada.

Parámetros de la ruta de solicitud

La solicitud admite un parámetro de ruta:

  • - un valor de identificación único para la tarea cuya información desea recuperar. La identificación de la tarea sigue el patrón node_id: task_number.

Solicitar parámetros de consulta

Para personalizar el comportamiento y el formato de retorno de la consulta, puede especificar los siguientes parámetros:

  1. Acciones: esto define un conjunto de acciones utilizadas para limitar la solicitud. Aquí, puede definir las acciones como una lista de valores separados por comas.
  2. Detallado: este es un parámetro booleano que define si la solicitud muestra información detallada sobre recuperaciones de fragmentos o no. Esta opción predeterminada es falso
  3. Group_by: establece las claves utilizadas para agrupar las tareas de la respuesta. Los valores aceptados incluyen:
    • Nodos - ID de nodo.
    • Padres - identificación de padres.
    • Nodo - No agrupe.
  4. Node_id: define el nodo o una lista de nodos desde los cuales para obtener la información.
  5. parent_task_id: define la ID de los padres utilizadas para filtrar la información de respuesta. Para mostrar todas las tareas, especifique el parent_task_id como -1.
  6. maestro_timeout: especifica la duración a la que la solicitud espera una conexión al nodo maestro. Si la solicitud no recibe una respuesta del maestro después de transcurrir la duración de Master_TimeOut, falla y devuelve un error. La duración predeterminada se establece en 30 segundos.
  7. Tiempo de espera: similar a Master_TimeOut, pero este valor define la duración sobre la cual esperar cualquier respuesta.
  8. Wait_for_completion: si es cierto, la solicitud se bloquea hasta que salga la operación. El valor predeterminado a falso.

Respuesta

Si tiene éxito, la solicitud devolverá información detallada sobre la tarea o tareas especificadas. Si no se encuentra la tarea, la solicitud devuelve un código de 404 estatus.

Uso de ejemplo

El siguiente ejemplo muestra cómo usar la API de administración de tareas para mostrar información sobre todas las tareas que se ejecutan en el clúster (todos los nodos).

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

La solicitud debe proporcionar información sobre las tareas en el clúster, como se muestra en la salida a continuación:

Ejemplo 2

En el siguiente ejemplo, usamos el parámetro nodos para limitar la respuesta a solo las tareas que se están ejecutando en el nodo slave_1

curl -xget "http: // localhost: 9200/_Tasks?nodos = slave_1 "-h" kbn -xsrf: informes "

Esto debería devolver las tareas en el nodo especificado como se muestra en la salida a continuación:

"tareas":
"FIT416FGR1GJEFJXOXLURW: 1651265":
"nodo": "slove_1",
"ID": 1651265,
"Tipo": "Transporte",
"Acción": "índices: monitor/flota/global_checkpoints",
"Start_time_in_millis": 1664214054489,
"Running_time_in_nanos": 94450056094,
"cancelable": falso,
"Encabezados":
"X-elástico-producto-origen": "flota"

Ejemplo 3

En el Ejemplo 3, utilizamos la API de administración de tareas para mostrar información sobre la tarea con la ID especificada:

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

La información de la tarea de salida es como se muestra:

Ejemplo 4

Para mostrar información detallada sobre la tarea, agregue el parámetro detallado a la solicitud como se muestra:

curl -xget "http: // localhost: 9200/_Tasks?detallado = true "-h" kbn -xsrf: informes "

Esto debería proporcionar información adicional sobre las tareas:

Conclusión

Esta publicación exploró cómo usar la API de gestión de tareas en Elasticsearch. Esta API nos permite recuperar información sobre la ejecución de tareas actualmente en el clúster.

Salud!! Y te atraparé en el próximo.