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:
- Akcje – definiuje zestaw akcji służących do ograniczenia żądania. Tutaj możesz zdefiniować akcje jako listę wartości oddzielonych przecinkami.
- 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
- 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.
- Node_id – określa węzeł lub listę węzłów, z których mają być pobierane informacje.
- 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.
- 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.
- Timeout — podobny do master_timeout, ale ta wartość określa czas oczekiwania na odpowiedź.
- 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.