Elasticsearch Task Management

Elasticsearch Task Management
“In questo post, esamineremo una delle API sperimentali di Elasticsearch (al momento della stesura di questa guida) che ci consente di visualizzare informazioni sulle attività attualmente in esecuzione in un cluster.

La gestione delle attività è un fattore enorme per qualsiasi amministratore e quando si lavora con un sistema complesso come ElasticSearch, è necessario eseguire un po 'di monitoraggio delle attività."

Copriamo ciò che questa API comporta e come può aiutarti come amministratore SYS.

Nota: a seconda delle impostazioni di configurazione e sicurezza del cluster, questa API può richiedere i privilegi di monitoraggio.

Richiedi sintassi

Di seguito mostra la sintassi per l'invio della richiesta all'API di gestione delle attività.

Get /_tasks /
Get /_tasks

Una volta richiesta l'API, il comando deve restituire informazioni dettagliate sulle attività correnti o sull'attività con l'ID specificato.

Richiedere parametri del percorso

La richiesta supporta un parametro del percorso:

  • - un valore ID univoco per l'attività di cui si desidera recuperare. L'ID dell'attività segue il pattern node_id: task_number.

Richiedere parametri di query

Per personalizzare il comportamento e il formato di ritorno della query, è possibile specificare i seguenti parametri:

  1. Azioni: questo definisce una serie di azioni utilizzate per limitare la richiesta. Qui, puoi definire le azioni come un elenco di valori separati da virgola.
  2. Dettagliato - Questo è un parametro booleano che definisce se la richiesta mostra informazioni dettagliate sui recuperi di shard o no. Questa opzione è impostata predefinita a False
  3. GROUP_BY - Imposta le chiavi utilizzate per raggruppare le attività dalla risposta. I valori accettati includono:
    • Nodi - ID nodo.
    • Genitori - ID genitore.
    • Nodo - non raggruppare.
  4. Node_id - definisce il nodo o un elenco di nodi da cui recuperare le informazioni.
  5. parent_task_id - Definisce l'ID genitore utilizzato per filtrare le informazioni di risposta. Per mostrare tutte le attività, specificare il genitore_task_id come -1.
  6. Master_timeout - Specifica la durata in cui la richiesta attende una connessione al nodo principale. Se la richiesta non riceve una risposta dal maestro dopo l'esame della durata Master_Timeout, non riesce e restituisce un errore. La durata predefinita è impostata su 30 sec.
  7. Timeout - Simile a Master_timeout, ma questo valore definisce la durata su cui attendere qualsiasi risposta.
  8. Wait_for_completion - Se true, la richiesta viene bloccata fino a quando l'operazione esce. Il valore predefinito è falso.

Risposta

In caso di successo, la richiesta restituirà informazioni dettagliate sull'attività o sulle attività specificate. Se l'attività non viene trovata, la richiesta restituisce un codice di 404 status.

Esempio di utilizzo

L'esempio seguente mostra come utilizzare l'API di gestione delle attività per mostrare informazioni su tutte le attività che eseguono nel cluster (tutti i nodi).

Curl -xget "http: // localhost: 9200/_tasks" -H "kbn -xsrf: reporting"

La richiesta dovrebbe fornire informazioni sui compiti nel cluster, come mostrato nell'output di seguito:

Esempio 2

Nel prossimo esempio, utilizziamo il parametro dei nodi per limitare la risposta solo alle attività in esecuzione nel nodo slave_1

Curl -Xget "http: // localhost: 9200/_tasks?nodi = slave_1 "-h" kbn -xsrf: reporting "

Ciò dovrebbe restituire le attività nel nodo specificato come mostrato nell'output di seguito:

"compiti":
"Fit416fgr1gjofjxoxlurw: 1651265":
"nodo": "slave_1",
"ID": 1651265,
"tipo": "trasporto",
"Azione": "Indici: Monitor/Fleet/Global_Checkpoints",
"Start_time_in_millis": 1664214054489,
"Running_time_in_nanos": 94450056094,
"cancellabile": falso,
"intestazioni":
"X-elastic-prodotti-origine": "Flotta"

Esempio 3

Nell'esempio 3, utilizziamo l'API di gestione delle attività per mostrare informazioni sull'attività con l'ID specificato:

Curl -xget "http: // localhost: 9200/_tasks/fit416fgr1gjofjxoxlurw: 1656310" -H "kbn -xsrf: reporting"

Le informazioni sull'attività di output sono come mostrate:

Esempio 4

Per mostrare informazioni dettagliate sull'attività, aggiungere il parametro dettagliato alla richiesta come mostrato:

Curl -Xget "http: // localhost: 9200/_tasks?dettagliato = true "-h" kbn -xsrf: reporting "

Ciò dovrebbe fornire ulteriori informazioni sui compiti:

Conclusione

Questo post ha esplorato come utilizzare l'API di gestione delle attività in Elasticsearch. Questa API ci consente di recuperare informazioni sull'esecuzione attualmente delle attività nel cluster.

Saluti!! E ti prenderò nel prossimo.