Elasticsearch - API del cluster

L'API del cluster viene utilizzata per ottenere informazioni sul cluster e sui suoi nodi e per apportarvi modifiche. Per chiamare questa API, dobbiamo specificare il nome del nodo, l'indirizzo o _local.

GET /_nodes/_local

Eseguendo il codice sopra, otteniamo la risposta come mostrato di seguito:

………………………………………………
cluster_name" : "elasticsearch",
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
         "name" : "ubuntu",
         "transport_address" : "127.0.0.1:9300",
         "host" : "127.0.0.1",
         "ip" : "127.0.0.1",
         "version" : "7.0.0",
         "build_flavor" : "default",
         "build_type" : "tar",
         "build_hash" : "b7e28a7",
         "total_indexing_buffer" : 106502553,
         "roles" : [
            "master",
            "data",
            "ingest"
         ],
         "attributes" : {
………………………………………………

Cluster Health

Questa API viene utilizzata per ottenere lo stato sull'integrità del cluster aggiungendo la parola chiave "health".

GET /_cluster/health

Eseguendo il codice sopra, otteniamo la risposta come mostrato di seguito:

{
   "cluster_name" : "elasticsearch",
   "status" : "yellow",
   "timed_out" : false,
   "number_of_nodes" : 1,
   "number_of_data_nodes" : 1,
   "active_primary_shards" : 7,
   "active_shards" : 7,
   "relocating_shards" : 0,
   "initializing_shards" : 0,
   "unassigned_shards" : 4,
   "delayed_unassigned_shards" : 0,
   "number_of_pending_tasks" : 0,
   "number_of_in_flight_fetch" : 0,
   "task_max_waiting_in_queue_millis" : 0,
   "active_shards_percent_as_number" : 63.63636363636363
}

Stato del cluster

Questa API viene utilizzata per ottenere informazioni sullo stato di un cluster aggiungendo l'URL della parola chiave "state". Le informazioni sullo stato contengono versione, nodo master, altri nodi, tabella di instradamento, metadati e blocchi.

GET /_cluster/state

Eseguendo il codice sopra, otteniamo la risposta come mostrato di seguito:

………………………………………………
{
   "cluster_name" : "elasticsearch",
   "cluster_uuid" : "IzKu0OoVTQ6LxqONJnN2eQ",
   "version" : 89,
   "state_uuid" : "y3BlwvspR1eUQBTo0aBjig",
   "master_node" : "FKH-5blYTJmff2rJ_lQOCg",
   "blocks" : { },
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
      "name" : "ubuntu",
      "ephemeral_id" : "426kTGpITGixhEzaM-5Qyg",
      "transport
   }
………………………………………………

Statistiche cluster

Questa API aiuta a recuperare le statistiche sul cluster utilizzando la parola chiave "stats". Questa API restituisce il numero di shard, la dimensione dell'archivio, l'utilizzo della memoria, il numero di nodi, i ruoli, il sistema operativo e il file system.

GET /_cluster/stats

Eseguendo il codice sopra, otteniamo la risposta come mostrato di seguito:

………………………………………….
"cluster_name" : "elasticsearch",
"cluster_uuid" : "IzKu0OoVTQ6LxqONJnN2eQ",
"timestamp" : 1556435464704,
"status" : "yellow",
"indices" : {
   "count" : 7,
   "shards" : {
      "total" : 7,
      "primaries" : 7,
      "replication" : 0.0,
      "index" : {
         "shards" : {
         "min" : 1,
         "max" : 1,
         "avg" : 1.0
      },
      "primaries" : {
         "min" : 1,
         "max" : 1,
         "avg" : 1.0
      },
      "replication" : {
         "min" : 0.0,
         "max" : 0.0,
         "avg" : 0.0
      }
………………………………………….

Impostazioni di aggiornamento del cluster

Questa API ti consente di aggiornare le impostazioni di un cluster utilizzando la parola chiave "settings". Esistono due tipi di impostazioni: persistenti (applicate ai riavvii) e transitorie (non sopravvivono a un riavvio completo del cluster).

Statistiche nodo

Questa API viene utilizzata per recuperare le statistiche di un altro nodo del cluster. Le statistiche dei nodi sono quasi le stesse del cluster.

GET /_nodes/stats

Eseguendo il codice sopra, otteniamo la risposta come mostrato di seguito:

{
   "_nodes" : {
      "total" : 1,
      "successful" : 1,
      "failed" : 0
   },
   "cluster_name" : "elasticsearch",
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
         "timestamp" : 1556437348653,
         "name" : "ubuntu",
         "transport_address" : "127.0.0.1:9300",
         "host" : "127.0.0.1",
         "ip" : "127.0.0.1:9300",
         "roles" : [
            "master",
            "data",
            "ingest"
         ],
         "attributes" : {
            "ml.machine_memory" : "4112797696",
            "xpack.installed" : "true",
            "ml.max_open_jobs" : "20"
         },
………………………………………………………….

Nodi hot_threads

Questa API ti aiuta a recuperare le informazioni sugli hot thread correnti su ogni nodo nel cluster.

GET /_nodes/hot_threads

Eseguendo il codice sopra, otteniamo la risposta come mostrato di seguito:

:::{ubuntu}{FKH-5blYTJmff2rJ_lQOCg}{426kTGpITGixhEzaM5Qyg}{127.0.0.1}{127.0.0.1:9300}{ml.machine_memory=4112797696,
xpack.installed=true, ml.max_open_jobs=20}
 Hot threads at 2019-04-28T07:43:58.265Z, interval=500ms, busiestThreads=3,
ignoreIdleThreads=true: