Elasticsearch タスク管理

Elasticsearch Tasuku Guan Li



「この投稿では、クラスタで現在実行中のタスクに関する情報を表示できる Elasticsearch の実験的 API (このガイドの執筆時点) の 1 つを見ていきます。

タスク管理は管理者にとって大きな要素であり、Elasticsearch などの複雑なシステムを使用する場合は、タスクの監視を行う必要があります。」

この API が必要とするものと、システム管理者としてどのように役立つかについて説明しましょう。







注: クラスタ構成とセキュリティ設定によっては、この API に監視権限が必要になる場合があります。



リクエスト構文

タスク管理 API にリクエストを送信するための構文を次に示します。



得る / _タスク /< task_id >

得る / _タスク

API を要求すると、コマンドは現在のタスクまたは指定された ID を持つタスクに関する詳細情報を返す必要があります。





リクエスト パス パラメータ

リクエストは 1 つのパス パラメータをサポートします。

  • – 情報を取得するタスクの一意の ID 値。タスク ID は node_id:task_number のパターンに従います。

リクエスト クエリ パラメータ

クエリの動作と戻り形式をカスタマイズするには、次のパラメーターを指定できます。



  1. アクション – これは、リクエストを制限するために使用される一連のアクションを定義します。ここでは、カンマ区切り値のリストとしてアクションを定義できます。
  2. Detailed – これは、要求がシャードの回復に関する詳細情報を表示するかどうかを定義するブール値パラメーターです。このオプションのデフォルトは false
  3. Group_by – 応答からタスクをグループ化するために使用されるキーを設定します。受け入れられる値は次のとおりです。
    • ノード – ノード ID。
    • 親 - 親 ID。
    • ノード – グループ化しないでください。
  4. Node_id – 情報をフェッチするノードまたはノードのリストを定義します。
  5. parent_task_id – 応答情報のフィルタリングに使用される親 ID を定義します。すべてのタスクを表示するには、parent_task_id を -1 に指定します。
  6. master_timeout – リクエストがマスター ノードへの接続を待機する時間を指定します。 master_timeout の期間が経過してもリクエストがマスターから応答を受信しない場合、リクエストは失敗し、エラーが返されます。デフォルトの継続時間は 30 秒に設定されています。
  7. タイムアウト – master_timeout に似ていますが、この値は応答を待機する期間を定義します。
  8. Wait_for_completion – true の場合、操作が終了するまでリクエストはブロックされます。デフォルトは false です。

応答

成功した場合、リクエストは指定されたタスクまたはタスクに関する詳細情報を返します。タスクが見つからない場合、リクエストは 404 ステータス コードを返します。

使用例

次の例は、タスク管理 API を使用して、クラスター (すべてのノード) で実行されているすべてのタスクに関する情報を表示する方法を示しています。

カール-XGET 「http://localhost:9200/_tasks」 -H 「kbn-xsrf: レポート」

以下の出力に示すように、リクエストはクラスター内のタスクに関する情報を提供する必要があります。

例 2

次の例では、nodes パラメータを使用して、応答をノード slave_1 で実行されているタスクのみに制限します。

カール-XGET 「http://localhost:9200/_tasks?nodes=slave_1」 -H 「kbn-xsrf: レポート」

以下の出力に示すように、指定したノードのタスクが返されます。

「タスク」 : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'ノード' : 'スレーブ_1'
「イド」 : 1651265
'タイプ' : '輸送'
'アクション' : 「インデックス: モニター/フリート/global_checkpoints」
'start_time_in_millis' : 1664214054489
'running_time_in_nanos' : 94450056094
「キャンセル可能」 : 間違い、
「ヘッダー」 : {
「X-elastic-product-origin」 : '海軍'
}
}

例 3

例 3 では、タスク管理 API を使用して、指定された ID を持つタスクに関する情報を表示します。

カール-XGET 「http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310」 -H 「kbn-xsrf: レポート」

出力タスク情報は次のとおりです。

例 4

タスクに関する詳細情報を表示するには、次のように、detailed パラメータをリクエストに追加します。
[cc lang=”apache” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0”]
カール -XGET “http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
これにより、タスクに関する追加情報が提供されます。

結論

この投稿は調査しました Elasticsearch でタスク管理 API を使用する方法。この API を使用すると、クラスターで現在実行中のタスクに関する情報を取得できます。

乾杯!! &次であなたを捕まえます。