Elasticsearch - interfejsy API klastra
Klaster API służy do uzyskiwania informacji o klastrze i jego węzłach oraz do wprowadzania w nich zmian. Aby wywołać ten interfejs API, musimy określić nazwę węzła, adres lub _local.
GET /_nodes/_local
Po uruchomieniu powyższego kodu otrzymujemy odpowiedź, jak pokazano poniżej -
………………………………………………
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" : {
………………………………………………
Zdrowie klastra
Ten interfejs API służy do uzyskiwania informacji o stanie klastra poprzez dołączenie słowa kluczowego „kondycja”.
GET /_cluster/health
Po uruchomieniu powyższego kodu otrzymujemy odpowiedź, jak pokazano poniżej -
{
"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
}
Stan klastra
Ten interfejs API służy do uzyskiwania informacji o stanie klastra poprzez dołączenie adresu URL słowa kluczowego „stan”. Informacje o stanie zawierają wersję, węzeł główny, inne węzły, tablicę routingu, metadane i bloki.
GET /_cluster/state
Po uruchomieniu powyższego kodu otrzymujemy odpowiedź, jak pokazano poniżej -
………………………………………………
{
"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
}
………………………………………………
Statystyki klastrów
Ten interfejs API pomaga w pobieraniu statystyk dotyczących klastra za pomocą słowa kluczowego „stats”. Ten interfejs API zwraca numer fragmentu, rozmiar magazynu, użycie pamięci, liczbę węzłów, role, system operacyjny i system plików.
GET /_cluster/stats
Po uruchomieniu powyższego kodu otrzymujemy odpowiedź, jak pokazano poniżej -
………………………………………….
"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
}
………………………………………….
Ustawienia aktualizacji klastra
Ten interfejs API umożliwia aktualizację ustawień klastra za pomocą słowa kluczowego „ustawienia”. Istnieją dwa rodzaje ustawień - trwałe (stosowane po ponownym uruchomieniu) i przejściowe (nie przetrwają pełnego ponownego uruchomienia klastra).
Statystyki węzłów
Ten interfejs API służy do pobierania statystyk jeszcze jednego węzła klastra. Statystyki węzłów są prawie takie same jak w przypadku klastra.
GET /_nodes/stats
Po uruchomieniu powyższego kodu otrzymujemy odpowiedź, jak pokazano poniżej -
{
"_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"
},
………………………………………………………….
Węzły hot_threads
Ten interfejs API ułatwia pobieranie informacji o bieżących wątkach aktywnych w każdym węźle w klastrze.
GET /_nodes/hot_threads
Po uruchomieniu powyższego kodu otrzymujemy odpowiedź, jak pokazano poniżej -
:::{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: