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: