Zarządzanie zadaniami Elasticsearch

Zarządzanie zadaniami Elasticsearch
„W tym poście przyjrzymy się jednym z ElasticSearch Experimental API (w momencie pisania tego przewodnika), który umożliwia nam przeglądanie informacji o obecnie działających zadaniach w klastrze.

Zarządzanie zadaniami jest ogromnym czynnikiem dla każdego administratora, a podczas pracy ze złożonym systemem, takim jak ElasticSearch, musisz wykonać monitorowanie zadań."

Pozwól nam opisać to, co pociąga za sobą ten interfejs API i jak może ci pomóc jako administrator SYS.

Uwaga: W zależności od konfiguracji klastra i ustawień bezpieczeństwa, ten interfejs API może wymagać uprawnień monitorowania.

Składnia żądania

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

Get /_Tasks /
Get /_Tasks

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

Parametry ścieżki żądania

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

  • - Unikalna wartość identyfikacyjna dla zadania, którego informacje chcesz odzyskać. Identyfikator zadania podąża za wzorem node_id: task_number.

Parametry zapytania o żądanie

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

  1. Działania - to określa zestaw działań używanych do ograniczenia żądania. Tutaj możesz zdefiniować działania jako listę wartości oddzielonych przecinkami.
  2. Szczegółowe - jest to parametr logiczny, który określa, czy żądanie pokazuje szczegółowe informacje na temat odzyskiwania odłamków, czy nie. Ta opcja domyślnie jest fałsz
  3. Group_by - Ustawia klucze używane do grupowania zadań z odpowiedzi. Zaakceptowane wartości obejmują:
    • Węzły - identyfikator węzła.
    • Rodzice - identyfikator rodzica.
    • Węzeł - nie grupuj.
  4. Node_id - definiuje węzeł lub listę węzłów, z których można pobrać informacje.
  5. pary_task_id - definiuje identyfikator nadrzędny używany do filtrowania informacji o odpowiedzi. Aby wyświetlić wszystkie zadania, określ pary task_id jako -1.
  6. master_timeout - Określa czas trwania, na którym żądanie czeka na połączenie z węzłem głównym. Jeśli żądanie nie odbiera odpowiedzi od mistrza po upływie czasu master_timeout, zawodzi i zwraca błąd. Domyślny czas trwania jest ustawiony na 30 sekund.
  7. Limit czasu - podobny do master_timeout, ale ta wartość określa czas trwania, na którym należy czekać na jakąkolwiek odpowiedź.
  8. WAILE_FOR_COMPELETION - Jeśli prawda, żądanie jest blokowane do momentu wyjścia z operacji. Domyślnie do fałszu.

Odpowiedź

Jeśli się powiedzie, żądanie zwróci szczegółowe informacje na temat określonego zadania lub zadań. Jeśli zadanie nie zostanie znalezione, żądanie zwraca kod 404-statusowy.

Przykładowe użycie

Poniższy przykład pokazuje, jak korzystać z interfejsu API zarządzania zadaniami, aby wyświetlać informacje o wszystkich zadaniach działających w klastrze (wszystkie węzły).

curl -xget "http: // localhost: 9200/_tasks" -h "kbn -xsrf: raportowanie"

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

Przykład 2

W następnym przykładzie używamy parametru węzłów, aby ograniczyć odpowiedź do tylko zadań działających w węźle Slave_1

curl -xget "http: // localhost: 9200/_TASKS?Węzły = Slave_1 "-H" KBN -XSRF: Raportowanie "

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

„Zadania”:
„Fit416fgr1gjefJxoxLURW: 1651265”:
„węzeł”: „Slave_1”,
„ID”: 1651265,
„Typ”: „Transport”,
„Action”: „Wskaźniki: Monitor/Fleet/Global_Checkpoints”,
„start_time_in_millis”: 1664214054489,
„Running_time_in_nanos”: 94450056094,
„anulowalne”: Fałsz,
„Nagłówki”:
„X-Elastic-Product-Origin”: „Fleet”

Przykład 3

W przykładzie 3 używamy interfejsu API zarządzania zadaniami, aby wyświetlać informacje o zadaniu z określonym identyfikatorem:

curl -xget "http: // localhost: 9200/_tasks/fit416fgr1gjefjxoxlurw: 1656310" -h "kbn -xsrf: raportowanie"

Informacje o zadaniach wyjściowych są takie jak pokazano:

Przykład 4

Aby pokazać szczegółowe informacje o zadaniu, dodaj szczegółowy parametr do żądania, jak pokazano:

curl -xget "http: // localhost: 9200/_TASKS?szczegółowe = true "-h" kbn -xsrf: raportowanie "

Powinno to dostarczyć dodatkowych informacji o zadaniach:

Wniosek

W tym poście zbadano, jak korzystać z interfejsu API zarządzania zadaniami w ElasticSearch. Ten interfejs API pozwala nam pobrać informacje o obecnie wykonywaniu zadań w klastrze.

Dzięki!! I złapię cię w następnym.