Gerenciamento de tarefas Elasticsearch

Gerenciamento de tarefas Elasticsearch
“Neste post, examinaremos uma das API experimentais ElasticSearch (no momento da redação deste guia) que nos permite visualizar informações sobre as tarefas atualmente em execução em um cluster.

O gerenciamento de tarefas é um fator enorme para qualquer administrador e, ao trabalhar com um sistema complexo, como o Elasticsearch, você precisará fazer algum monitoramento de tarefas.”

Vamos cobrir o que essa API implica e como ela pode ajudá -lo como um administrador do SYS.

Nota: Dependendo da configuração e das configurações de segurança do cluster, esta API pode exigir privilégios de monitor.

Solicitar sintaxe

A seguir, mostra a sintaxe para enviar a solicitação à API de gerenciamento de tarefas.

Get /_Tasks /
Get /_Tasks

Depois de solicitar a API, o comando deve retornar informações detalhadas sobre as tarefas atuais ou a tarefa com o ID especificado.

Solicitar parâmetros do caminho

A solicitação suporta um parâmetro de caminho:

  • - um valor de identificação exclusivo para a tarefa cuja informação você deseja recuperar. O ID da tarefa segue o padrão node_id: task_number.

Solicite parâmetros de consulta

Para personalizar o comportamento e o formato de retorno da consulta, você pode especificar os seguintes parâmetros:

  1. Ações - isso define um conjunto de ações usadas para limitar a solicitação. Aqui, você pode definir as ações como uma lista de valores separados por vírgula.
  2. Detalhado - este é um parâmetro booleano que define se a solicitação mostra informações detalhadas sobre recuperações de shard ou não. Esta opção é padronizada para false
  3. Group_by - define as chaves usadas para agrupar as tarefas da resposta. Os valores aceitos incluem:
    • Nós - ID do nó.
    • Pais - ID dos pais.
    • Nó - não agrupe.
  4. Node_id - define o nó ou uma lista de nós para buscar a informação.
  5. Parent_task_id - define o ID pai usado para filtrar as informações de resposta. Para mostrar todas as tarefas, especifique o pai_task_id como -1.
  6. master_timeout - Especifica a duração em que a solicitação aguarda uma conexão com o nó mestre. Se a solicitação não receber uma resposta do mestre após a duração master_timeout estiver decorrida, ela falha e retorna um erro. A duração padrão é definida como 30 segundos.
  7. Tempo limite - semelhante ao master_timeout, mas esse valor define a duração para aguardar qualquer resposta.
  8. Wait_for_completion - Se true, a solicitação será bloqueada até que a operação saia. Padrões para false.

Resposta

Se for bem -sucedido, a solicitação retornará informações detalhadas sobre a tarefa ou tarefas especificadas. Se a tarefa não for encontrada, a solicitação retornará um código de 404 status.

Exemplo de uso

O exemplo a seguir mostra como usar a API de gerenciamento de tarefas para mostrar informações sobre todas as tarefas em execução no cluster (todos os nós).

Curl -xget "http: // localhost: 9200/_tasks" -h "kbn -xsrf: relatórios"

A solicitação deve fornecer informações sobre as tarefas no cluster, conforme mostrado na saída abaixo:

Exemplo 2

No próximo exemplo, usamos o parâmetro de nós para limitar a resposta apenas às tarefas que estão sendo executadas no nó escravo_1

Curl -xget "http: // localhost: 9200/_Tasks?nós = escravo_1 "-h" kbn -xsrf: relatórios "

Isso deve retornar as tarefas no nó especificado, como mostrado na saída abaixo:

"tarefas":
"FIT416FGR1GJEFJXOXLURW: 1651265":
"Node": "Slave_1",
"ID": 1651265,
"Tipo": "transporte",
"Ação": "Indices: Monitor/Fleet/Global_checkpoints",
"start_time_in_millis": 1664214054489,
"Running_time_in_nanos": 94450056094,
"Cancelável": falso,
"cabeçalhos":
"X-elástico-produto-original": "Frota"

Exemplo 3

No Exemplo 3, usamos a API de gerenciamento de tarefas para mostrar informações sobre a tarefa com o ID especificado:

Curl -xget "http: // localhost: 9200/_tasks/fit416fgr1gjefjxoxlurw: 1656310" -h "kbn -xsrf: relatórios"

As informações da tarefa de saída são como mostrado:

Exemplo 4

Para mostrar informações detalhadas sobre a tarefa, adicione o parâmetro detalhado à solicitação, como mostrado:

Curl -xget "http: // localhost: 9200/_Tasks?detalhado = true "-h" kbn -xsrf: relatórios "

Isso deve fornecer informações adicionais sobre as tarefas:

Conclusão

Esta postagem explorou como usar a API de gerenciamento de tarefas no Elasticsearch. Esta API nos permite recuperar informações sobre as tarefas atualmente executadas no cluster.

Saúde!! E eu vou te pegar no próximo.