Gerenciamento de tarefas do Elasticsearch

Gerenciamento De Tarefas Do Elasticsearch



“Nesta postagem, veremos uma das APIs experimentais do 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 importante para qualquer administrador e, ao trabalhar com um sistema complexo como o Elasticsearch, você precisará fazer algum monitoramento de tarefas.”

Vamos abordar o que essa API envolve e como ela pode ajudá-lo como administrador de sistema.







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



Sintaxe da solicitação

Veja a seguir a sintaxe para enviar a solicitação à API de gerenciamento de tarefas.



PEGUE / _tarefas /< task_id >

PEGUE / _tarefas

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





Parâmetros de caminho de solicitação

A solicitação é compatível com um parâmetro de caminho:

  • – um valor de ID exclusivo para a tarefa cujas informações você deseja recuperar. O ID da tarefa segue o padrão node_id:task_number.

Parâmetros de consulta de solicitação

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



  1. Ações – 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 ou não informações detalhadas sobre recuperações de estilhaços. Esta opção tem como padrão 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 agrupar.
  4. Node_id – define o nó ou uma lista de nós dos quais buscar as informações.
  5. parent_task_id – define o ID pai usado para filtrar as informações de resposta. Para mostrar todas as tarefas, especifique o parent_task_id como -1.
  6. master_timeout – especifica a duração na qual 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 do master_timeout, ela falhará e retornará um erro. A duração padrão é definida para 30 segundos.
  7. Timeout – semelhante ao master_timeout, mas esse valor define a duração na qual aguardar qualquer resposta.
  8. Wait_for_completion – se verdadeiro, a solicitação é bloqueada até que a operação seja encerrada. O padrão é falso.

Resposta

Se for bem-sucedida, 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 status 404.

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 nodes para limitar a resposta apenas às tarefas que estão sendo executadas no node slave_1

curl -XGET “http://localhost:9200/_tasks?nodes=slave_1” -H 'kbn-xsrf: relatórios'

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

'tarefas' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'nó' : 'escravo_1' ,
'Eu iria' : 1651265 ,
'modelo' : 'transporte' ,
'ação' : 'índices:monitor/frota/global_checkpoints' ,
'start_time_in_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'cancelável' : falso,
'cabeçalhos' : {
'X-elástico-produto-origem' : '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 as mostradas:

Exemplo 4

Para mostrar informações detalhadas sobre a tarefa, adicione o parâmetro detalhado à solicitação conforme mostrado:
[cc lang=”apache” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0″]
curl -XGET “http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
Isso deve fornecer informações adicionais sobre as tarefas:

Conclusão

Este post explorou como usar a API de gerenciamento de tarefas no Elasticsearch. Essa API nos permite recuperar informações sobre as tarefas atualmente em execução no cluster.

Felicidades!! & eu vou te pegar no próximo.