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:
- 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.
- 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
- 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.
- Node_id – define o nó ou uma lista de nós dos quais buscar as informações.
- 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.
- 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.
- Timeout – semelhante ao master_timeout, mas esse valor define a duração na qual aguardar qualquer resposta.
- 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.