Elasticsearch Görev Yönetimi

Elasticsearch Gorev Yonetimi



'Bu gönderide, bir kümede o anda çalışan görevler hakkında bilgileri görüntülememizi sağlayan Elasticsearch deneysel API'lerinden birine (bu kılavuzun yazıldığı sırada) bakacağız.

Görev yönetimi, herhangi bir yönetici için çok büyük bir faktördür ve Elasticsearch gibi karmaşık bir sistemle çalışırken, biraz görev izleme yapmanız gerekecektir.'

Bu API'nin neleri içerdiğini ve bir sistem yöneticisi olarak size nasıl yardımcı olabileceğini ele alalım.







NOT: Küme yapılandırmanıza ve güvenlik ayarlarınıza bağlı olarak bu API, izleme ayrıcalıkları gerektirebilir.



Sözdizimi İste

Aşağıda, görev yönetimi API'sine istek gönderme sözdizimi gösterilmektedir.



ALMAK / _görevler /< görev_kimliği >

ALMAK / _görevler

API'yi talep ettiğinizde, komut, mevcut görevler veya belirtilen kimliğe sahip görev hakkında ayrıntılı bilgi vermelidir.





Yol Parametrelerini İste

İstek bir yol parametresini destekler:

  • – bilgilerini almak istediğiniz görev için benzersiz bir kimlik değeri. Görev kimliği, node_id:task_number modelini takip eder.

Sorgu Parametrelerini İste

Sorgunun davranışını ve dönüş biçimini özelleştirmek için aşağıdaki parametreleri belirtebilirsiniz:



  1. Eylemler – bu, isteği sınırlamak için kullanılan bir dizi eylemi tanımlar. Burada eylemleri virgülle ayrılmış değerler listesi olarak tanımlayabilirsiniz.
  2. Ayrıntılı - bu, isteğin parça kurtarma hakkında ayrıntılı bilgi gösterip göstermediğini tanımlayan bir Boole parametresidir. Bu seçenek varsayılan olarak false olur
  3. Group_by – yanıttan görevleri gruplamak için kullanılan anahtarları ayarlar. Kabul edilen değerler şunları içerir:
    • Düğümler – düğüm kimliği.
    • Ebeveynler – ebeveyn kimliği.
    • Düğüm – gruplamayın.
  4. Node_id – bilgilerin getirileceği düğümü veya düğümlerin listesini tanımlar.
  5. parent_task_id – yanıt bilgilerini filtrelemek için kullanılan üst kimliği tanımlar. Tüm görevleri göstermek için parent_task_id değerini -1 olarak belirtin.
  6. master_timeout - isteğin ana düğüme bağlantı için beklediği süreyi belirtir. Master_timeout süresi geçtikten sonra istek master'dan bir yanıt almazsa başarısız olur ve bir hata döndürür. Varsayılan süre 30 saniye olarak ayarlanmıştır.
  7. Zaman aşımı – master_timeout'a benzer, ancak bu değer herhangi bir yanıt için beklenecek süreyi tanımlar.
  8. Wait_for_completion – true ise, işlem bitene kadar istek engellenir. Varsayılan olarak false olur.

Tepki

Başarılı olursa, istek belirtilen görev veya görevler hakkında ayrıntılı bilgi verir. Görev bulunamazsa, istek 404 durum kodunu döndürür.

Örnek Kullanım

Aşağıdaki örnek, kümede çalışan tüm görevler (tüm düğümler) hakkındaki bilgileri göstermek için görev yönetimi API'sinin nasıl kullanılacağını gösterir.

kıvrılma -XGET “http://localhost:9200/_tasks” -H 'kbn-xsrf: raporlama'

İstek, aşağıdaki çıktıda gösterildiği gibi kümedeki görevler hakkında bilgi sağlamalıdır:

Örnek 2

Sonraki örnekte, yalnızca slave_1 düğümünde çalışan görevlere yanıtı sınırlamak için nodes parametresini kullanıyoruz.

kıvrılma -XGET “http://localhost:9200/_tasks?nodes=slave_1” -H 'kbn-xsrf: raporlama'

Bu, aşağıdaki çıktıda gösterildiği gibi belirtilen düğümdeki görevleri döndürmelidir:

'görevler' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'düğüm' : 'köle_1' ,
'İD' : 1651265 ,
'tip' : 'Ulaşım' ,
'eylem' : 'endeksler:monitör/fleet/global_checkpoints' ,
'start_time_in_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'iptal edilebilir' : yanlış,
'başlıklar' : {
'X-elastik-ürün-menşeli' : 'filo'
}
}

Örnek 3

Örnek 3'te, belirtilen kimliğe sahip görev hakkındaki bilgileri göstermek için görev yönetimi API'sini kullanıyoruz:

kıvrılma -XGET “http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310” -H 'kbn-xsrf: raporlama'

Çıktı görevi bilgileri gösterildiği gibidir:

Örnek 4

Görevle ilgili ayrıntılı bilgileri göstermek için, ayrıntılı parametreyi talebe gösterildiği gibi ekleyin:
[cc lang=”Apache” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0″]
curl -XGET “http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
Bu, görevler hakkında ek bilgi sağlamalıdır:

Çözüm

Bu gönderi araştırıldı Elasticsearch'te görev yönetimi API'sinin nasıl kullanılacağı. Bu API, kümede şu anda yürütülmekte olan görevler hakkında bilgi almamızı sağlar.

Şerefe!! & bir sonrakinde seni yakalayacağım.