Zarządzanie zadaniami Elasticsearch

Zarzadzanie Zadaniami Elasticsearch



„W tym poście przyjrzymy się jednemu z eksperymentalnych API Elasticsearch (w momencie pisania tego przewodnika), który umożliwia nam przeglądanie informacji o aktualnie uruchomionych zadaniach w klastrze.

Zarządzanie zadaniami jest ogromnym czynnikiem dla każdego administratora, a podczas pracy ze złożonym systemem, takim jak Elasticsearch, będziesz musiał monitorować zadania.”

Pozwól nam omówić, co pociąga za sobą ten interfejs API i jak może pomóc jako administratorowi systemu.







UWAGA: W zależności od konfiguracji klastra i ustawień zabezpieczeń ten interfejs API może wymagać uprawnień do monitorowania.



Składnia żądania

Poniżej przedstawiono składnię wysyłania żądania do interfejsu API zarządzania zadaniami.



DOSTAWAĆ / _zadania /< id_zadania >

DOSTAWAĆ / _zadania

Po zażądaniu API polecenie powinno zwrócić szczegółowe informacje o bieżących zadaniach lub zadaniu o określonym identyfikatorze.





Żądaj parametrów ścieżki

Żądanie obsługuje jeden parametr ścieżki:

  • – unikalny identyfikator zadania, którego informacje chcesz pobrać. Identyfikator zadania jest zgodny ze wzorcem node_id:task_number.

Żądaj parametrów zapytania

Aby dostosować zachowanie i format zwracania zapytania, możesz określić następujące parametry:



  1. Akcje – definiuje zestaw akcji służących do ograniczenia żądania. Tutaj możesz zdefiniować akcje jako listę wartości oddzielonych przecinkami.
  2. Szczegółowy – jest to parametr logiczny, który określa, czy żądanie wyświetla szczegółowe informacje o odzyskiwaniu fragmentów, czy nie. Ta opcja ma domyślną wartość false
  3. Group_by – ustawia klucze używane do grupowania zadań z odpowiedzi. Akceptowane wartości obejmują:
    • Węzły – identyfikator węzła.
    • Rodzice – identyfikator rodzica.
    • Węzeł – nie grupuj.
  4. Node_id – określa węzeł lub listę węzłów, z których mają być pobierane informacje.
  5. parent_task_id – określa identyfikator rodzica używany do filtrowania informacji o odpowiedzi. Aby wyświetlić wszystkie zadania, określ parent_task_id jako -1.
  6. master_timeout – określa czas, przez jaki żądanie oczekuje na połączenie z węzłem głównym. Jeśli żądanie nie otrzyma odpowiedzi od urządzenia nadrzędnego po upływie czasu trwania master_timeout, nie powiedzie się i zwróci błąd. Domyślny czas trwania jest ustawiony na 30 sekund.
  7. Timeout — podobny do master_timeout, ale ta wartość określa czas oczekiwania na odpowiedź.
  8. Wait_for_completion – jeśli true, żądanie jest blokowane do czasu zakończenia operacji. Wartość domyślna to fałsz.

Odpowiedź

Jeśli się powiedzie, żądanie zwróci szczegółowe informacje o określonym zadaniu lub zadaniach. Jeśli zadanie nie zostanie znalezione, żądanie zwraca kod stanu 404.

Przykładowe użycie

Poniższy przykład pokazuje, jak używać interfejsu API zarządzania zadaniami do wyświetlania informacji o wszystkich zadaniach uruchomionych w klastrze (wszystkich węzłach).

zwijanie -XGET „http://localhost:9200/_tasks” -H 'kbn-xsrf: raportowanie'

Żądanie powinno zawierać informacje o zadaniach w klastrze, jak pokazano na poniższym wyjściu:

Przykład 2

W następnym przykładzie używamy parametru nodes, aby ograniczyć odpowiedź tylko do zadań uruchomionych w węźle slave_1

zwijanie -XGET „http://localhost:9200/_tasks?nodes=slave_1” -H 'kbn-xsrf: raportowanie'

Powinno to zwrócić zadania w określonym węźle, jak pokazano w poniższym wyniku:

'zadania' : {
„Dopasuj416fGR1GJefJxOxLurw:1651265” : {
'węzeł' : „niewolnik_1” ,
'ID' : 1651265 ,
'rodzaj' : 'transport' ,
'akcja' : 'indeksy:monitor/flota/globalne_punkty kontrolne' ,
'start_time_in_millis' : 1664214054489 ,
„running_time_in_nanos” : 94450056094 ,
'odwoływalny' : fałszywy,
„nagłówki” : {
'X-elastyczny-pochodzenie-produktu' : 'flota'
}
}

Przykład 3

W przykładzie 3 używamy API do zarządzania zadaniami, aby pokazać informacje o zadaniu o określonym ID:

zwijanie -XGET „http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310” -H 'kbn-xsrf: raportowanie'

Wyjściowe informacje o zadaniu są następujące:

Przykład 4

Aby wyświetlić szczegółowe informacje o zadaniu, dodaj szczegółowy parametr do żądania, jak pokazano:
[cc lang=”apache” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0″]
zwijanie -XGET “http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
Powinno to dostarczyć dodatkowych informacji o zadaniach:

Wniosek

Ten post zbadany jak korzystać z API do zarządzania zadaniami w Elasticsearch. To API pozwala nam na pobieranie informacji o aktualnie wykonywanych zadaniach w klastrze.

Twoje zdrowie!! I złapię cię w następnym.