태스크 목록 API

태스크 목록 API (List Tasks API)

List Tasks API는 클러스터에서 실행 중인 태스크 목록을 반환해요.

도입 버전 1.0

엔드포인트

GET /_tasks

쿼리 파라미터

다음 표는 사용 가능한 쿼리 파라미터를 보여줘요. 모든 쿼리 파라미터는 선택 사항이에요.

파라미터 데이터 타입 설명 기본값
actions List 또는 String 반환할 작업(action)의 쉼표로 구분된 목록이에요. 비워 두면 모두 반환해요. N/A
detailed Boolean true 면 응답에 샤드 복구에 대한 자세한 정보가 포함돼요. false
group_by String 태스크를 부모/자식 관계 또는 노드별로 그룹화해요. 유효한 값은 nodes , none , parents 예요. nodes
nodes List 반환 정보를 제한하는 데 사용하는 노드 ID 또는 이름의 쉼표로 구분된 목록이에요. 연결 중인 노드의 정보를 반환하려면 _local을, 특정 노드의 정보를 얻으려면 노드 이름을, 모든 노드의 정보를 얻으려면 파라미터를 비워 두면 돼요. N/A
parent_task_id String 지정한 부모 태스크 ID( node_id:task_number )를 가진 태스크를 반환해요. 비워 두거나 -1로 설정하면 모두 반환해요. N/A
timeout String 응답을 기다리는 시간이에요. N/A
wait_for_completion Boolean 일치하는 태스크가 완료될 때까지 기다려요. true 면 태스크가 완료될 때까지 요청이 차단돼요. false

예제 요청

다음 요청은 opensearch-node1이라는 노드에서 현재 실행 중인 태스크를 반환해요:

GET /_tasks?nodes=opensearch-node1

예제 응답

다음 응답은 실행 중인 태스크에 대한 정보를 제공해요:

{
  "nodes": {
    "Mgqdm0r9SEGClWxp_RbnaQ": {
      "name": "opensearch-node1",
      "transport_address": "sample_address",
      "host": "sample_host",
      "ip": "sample_ip",
      "roles": [
        "data",
        "ingest",
        "master",
        "remote_cluster_client"
      ],
      "tasks": {
        "Mgqdm0r9SEGClWxp_RbnaQ:24578": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 24578,
          "type": "transport",
          "action": "cluster:monitor/tasks/lists",
          "start_time_in_millis": 1611612517044,
          "running_time_in_nanos": 638700,
          "cancellable": false,
          "headers": {}
        },
        "Mgqdm0r9SEGClWxp_RbnaQ:24579": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 24579,
          "type": "direct",
          "action": "cluster:monitor/tasks/lists[n]",
          "start_time_in_millis": 1611612517044,
          "running_time_in_nanos": 222200,
          "cancellable": false,
          "parent_task_id": "Mgqdm0r9SEGClWxp_RbnaQ:24578",
          "headers": {}
        }
      }
    }
  }
}

resource_stats 객체

resource_stats 객체는 리소스 추적을 지원하는 태스크에 대해서만 업데이트돼요. 이 통계는 예약된 스레드 실행을 기준으로 계산되며, 태스크 작업을 마친 스레드와 현재 작업 중인 스레드를 모두 포함해요. 같은 스레드가 같은 태스크에서 여러 번 작업하도록 예약될 수 있으므로, 특정 태스크에서 작업하도록 예약된 각 스레드의 각 인스턴스는 단일 스레드 실행으로 간주돼요.

다음 표는 resource_stats 객체의 모든 응답 필드를 보여줘요.

응답 필드 설명
average 예약된 모든 스레드 실행에서의 평균 리소스 사용량이에요.
total 예약된 모든 스레드 실행에서의 총 리소스 사용량이에요.
min 예약된 모든 스레드 실행에서의 최소 리소스 사용량이에요.
max 예약된 모든 스레드 실행에서의 최대 리소스 사용량이에요.
thread_info 스레드 수와 관련된 통계예요.
thread_info.active_threads 현재 태스크에서 작업 중인 스레드 수예요.
thread_info.thread_executions 태스크에서 작업하도록 예약된 스레드 수예요.

필요한 권한

Security 플러그인을 사용한다면 적절한 권한이 있는지 확인하세요: cluster:monitor/tasks/list.

출처: 문서