Elasticsearch - Küme API'leri
Küme API'si, küme ve düğümleri hakkında bilgi almak ve bunlarda değişiklik yapmak için kullanılır. Bu API'yi çağırmak için düğüm adını, adresini veya _local'ı belirtmemiz gerekiyor.
GET /_nodes/_local
Yukarıdaki kodu çalıştırırken, yanıtı aşağıda gösterildiği gibi alıyoruz -
………………………………………………
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" : {
………………………………………………
Küme Sağlığı
Bu API, 'sağlık' anahtar kelimesini ekleyerek kümenin sağlık durumu hakkında bilgi almak için kullanılır.
GET /_cluster/health
Yukarıdaki kodu çalıştırırken, yanıtı aşağıda gösterildiği gibi alıyoruz -
{
"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
}
Küme Durumu
Bu API, 'durum' anahtar kelime URL'sini ekleyerek bir küme hakkında durum bilgisi almak için kullanılır. Durum bilgisi sürüm, ana düğüm, diğer düğümler, yönlendirme tablosu, meta veriler ve blokları içerir.
GET /_cluster/state
Yukarıdaki kodu çalıştırırken, yanıtı aşağıda gösterildiği gibi alıyoruz -
………………………………………………
{
"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
}
………………………………………………
Küme İstatistikleri
Bu API, 'istatistik' anahtar kelimesini kullanarak küme hakkında istatistiklerin alınmasına yardımcı olur. Bu API; parça numarası, depo boyutu, bellek kullanımı, düğüm sayısı, roller, işletim sistemi ve dosya sistemi döndürür.
GET /_cluster/stats
Yukarıdaki kodu çalıştırırken, yanıtı aşağıda gösterildiği gibi alıyoruz -
………………………………………….
"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
}
………………………………………….
Küme Güncelleme Ayarları
Bu API, 'ayarlar' anahtar kelimesini kullanarak bir kümenin ayarlarını güncellemenize olanak tanır. İki tür ayar vardır - kalıcı (yeniden başlatmalarda uygulanan) ve geçici (tam bir küme yeniden başlatmasından sağ çıkmayın).
Düğüm İstatistikleri
Bu API, kümedeki bir veya daha fazla düğümün istatistiklerini almak için kullanılır. Düğüm istatistikleri neredeyse küme ile aynıdır.
GET /_nodes/stats
Yukarıdaki kodu çalıştırırken, yanıtı aşağıda gösterildiği gibi alıyoruz -
{
"_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"
},
………………………………………………………….
Hot_threads düğümleri
Bu API, kümedeki her düğümdeki mevcut etkin iş parçacıkları hakkında bilgi almanıza yardımcı olur.
GET /_nodes/hot_threads
Yukarıdaki kodu çalıştırırken, yanıtı aşağıda gösterildiği gibi alıyoruz -
:::{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: