태스크 관리

태스크 목록

워크플로우는 다양한 태스크들의 연결로 구성됩니다. 여기서는 태스크 관리에 필요한 작업 방법을 설명합니다.

태스크 목록

그림에 표시된 숫자 항목은 다음과 같습니다.

  1. 목록에 새 태스크를 추가합니다.

  2. 태스크 목록에서 태스크의 이름을 누르면 태스크 수정 화면으로 이동합니다.

  3. 위/아래 화살표를 누르면 목록에서 태스크의 위치를 이동할 수 있습니다.

    목록에서 태스크의 위치는 실행 순서와 관계 없고, 각 태스크에 정의된 선행 작업 태스크와 조건이 만족하는 경우에 해당 태스크가 실행됩니다.

  4. 태스크의 API 엔드포인트 정보를 보여줍니다.

  5. 태스크의 실행 이력을 보여줍니다.

  6. 태스크의 선행조건과 상관없이 해당 태스크를 실행합니다.

  7. 태스크를 복제해 새 태스크 사본을 생성합니다.

  8. 태스크를 삭제합니다.

  9. 태스크의 속성 정보를 펼쳐보이거나 속성 정보를 가립니다.

태스크 추가/수정

워크플로우 생성 시 1개의 태스크가 기본적으로 생성되어 있습니다.

  • 새 태스크를 추가하려면 태스크 목록 아래에 있는 태스크 추가를 누릅니다.
  • 이미 추가된 태스크를 수정하려면 목록에서 태스크 이름을 누릅니다.
1 단계: 태스크 기본 정보

태스크 이름과 설명을 입력합니다. 태스크 이름은 자동으로 N단계 작업 형태로 생성되지만 이는 사용자가 수정할 수 있습니다.

태스크 기본 정보

이름
태스크를 식별할 이름(기본값: N단계 작업. N은 자동으로 지정되는 정수)
설명
태스크에 대한 설명
2 단계: 태스크 선행 작업

새로 추가하는 태스크에는 선행 작업 항목이 있습니다. 해당 태스크를 실행하기 전에 실행할 태스크를 지정합니다. 선행 태스크의 상태에 따라 실행되도록 설정할 수 있습니다.

선행 작업으로 여러 개의 태스크를 지정할 경우 모든 선행 태스크가 선행 조건에 도달해야 실행됩니다. 선행태스크를 지정하지 않으면 워크플로우를 실행할 때 태스크를 즉시 실행합니다.

다음 그림은 태스크의 선행 작업 속성을 지정한 예시입니다.

태스크의 선행 작업을 지정할 수 있는 화면

  • 선행 작업으로 여러 개의 태스크를 지정할 수 있습니다. 선행 태스크가 여러 개일 때, 모두 종료되고 선행조건을 만족해야 현재 태스크가 실행됩니다.
  • 선행 작업을 추가하려면 선행 작업 목록 아래에 있는 추가를 누릅니다.
  • 선행 작업 목록에서 특정 태스크 항목을 누르면 다른 태스크로 대체할 수 있습니다.
  • 선행 작업 행에 있는 휴지통 아이콘을 누르면 해당 선행 작업을 목록에서 삭제할 수 있습니다.

선행 작업의 결과에 따라 태스크 실행 조건을 달리할 수 있습니다. 선행 작업 목록에서 추가를 누르거나, 선행 작업 항목을 누르면 아래와 같이 태스크 의존성 창이 나타납니다.

선행 작업 결과에 대한 조건 설정

  • 선행 태스크: 현재 작업을 수행하기 전에 종료되어야 하는 태스크를 목록에서 선택하십시오.
  • 선행 조건: 선행 태스크의 실행 결과를 목록ㄹ에서 선택하선행 작업십시오(기본값: 태스크 완료 시)
    • 태스크 완료 시: 태스크의 성공/실패에 관계 없이 선행 태스크 종료되었을 때 현재 태스크를 실행합니다.
    • 태스크 성공 시: 선행 태스크의 실행 결과가 성공(true)일 때 현재 태스크를 실행합니다.
    • 태스크 실패 시: 선행 태스크의 실행 결과가 실패(false)일 때 현재 태스크를 실행합니다.
3 단계: 태스크 유형 선택

태스크의 유형을 쿼리 실행, 프로시저 실행, 프로그램 실행, 타이머 대기 중에서 선택합니다(기본값: 쿼리 실행).

쿼리 실행

쿼리문을 실행합니다. 정의 방식으로 쿼리 스니펫(기본값), 직접 입력 두 가지가 있습니다. 자주 사용하는 쿼리문이라면 스니펫으로 등록하고 이용하십시오.

쿼리 실행 태스크의 정의 방식쿼리 스니펫일 때, 목록에서 쿼리 스니펫을 선택할 수 있고, 쿼리 스니펫의 출력을 이용하는 쿼리를 입력할 수 있습니다.

태스크 유형이 쿼리 실행이고 정의 방식이 쿼리 스니펫일 때 지정할 수 있는 속성

쿼리 실행 태스크의 정의 방식직접 입력일 때, 쿼리만 입력할 수 있습니다.

태스크 유형이 쿼리 실행이고 정의 방식이 직접 입력일 때 지정할 수 있는 속성

프로시저 실행

미리 구성해둔 프로시저를 실행합니다. 프로시저 목록에서 프로시저를 선택하십시오.

태스크 유형이 프로시저 실행일 때 지정할 수 있는 속성

프로그램 실행

프로그램 실행 태스크는 로그프레소 플랫폼을 운영하는 시스템에서 프로그램을 실행합니다. 명령줄에 실행할 프로그램의 경로와 옵션, 인자를 지정합니다. 입력 매개변수를 지정하면 열거한 순서대로 명령줄의 인자로 사용합니다.

아래 예시와 같이 명령줄에 "/sbin/tcpdump -nn -G 60 https and host"를 입력하고, 입력 매개변수로 src_ip를 추가해두면 명령줄 뒤에 src_ip 필드의 값이 인자로 해서 프로그램을 실행합니다.

태스크 유형이 프로그램 실행일 때 지정할 수 있는 속성

타이머 대기

작업을 수행하지 않고 주어진 시간만큼 대기합니다. 데이터 동기화나 초기화 등의 이유로 다른 태스크 전후에 대기가 필요할 때 사용합니다. 대기 시간을 초 단위로 입력합니다.

4 단계: 입력/출력 매개변수

태스크를 사용자가 직접 실행할 때 사용자에게 값을 입력하게 하거나, 한 태스크의 결과값을 다른 태스크에서 사용하려면 매개변수를 이용하십시오.

  • 입력 매개변수, 출력 매개변수에서 추가를 눌러 새 매개변수를 추가할 수 있습니다.
  • 기존에 추가한 매개변수의 이름을 눌러서 수정할 수 있습니다.
  • 목록에서 매개변수 행에 있는 휴지통 아이콘을 누르면 해당 매개변수를 삭제할 수 있습니다.

매개변수를 추가/수정할 때 다음 항목들을 입력합니다.

매개변수 설정

  • 필수: 매개변수의 필수/선택 여부(기본값: 필수). 매개변수가 선택일 때 매개변수에 할당할 값이 없으면 null이 할당됩니다.
  • 변수:태스크를 실행할 때 매개변수 호출에 사용하는 이름
  • 이름: 태스크를 화면에 표시할 때 사용하는 이름
  • 타입: 매개변수 타입을 입력(문자열, 날짜, 정수, 불리언).
  • 기본값 표현식: 변수의 값이 비어있을 때(null일 때) 기본값으로 사용할 값을 할당할 표현식(숫자나 문자열 상수, 혹은 상수로 계산되는 수식)

태스크 유형에 따라 입력/출력 매개변수를 사용하는 방식에 차이가 있습니다.

쿼리 실행 태스크

입력 매개변수 값을 받아서 쿼리를 실행하려면 $("매개변수") 형식으로 입력 매개변수의 값을 쿼리에서 참조하십시오. 출력 매개변수에 값을 전달하려면 evalc 명령을 사용하십시오.

다른 태스크가 출력 매개변수에 전달한 값을 태스크에서 입력으로 사용하려면 동일한 이름을 입력 매개변수로 사용해야 합니다.

프로시저 실행 태스크

입력 매개변수를 프로시저에 정의한 매개변수 순서와 일치시켜 입력하십시오.

프로그램 실행 태스크

입력 매개변수를 프로그램에 전달할 순서대로 입력하면 프로그림 실행 명령줄 뒤에 입력 매개변수를 인자로 추가합니다.

타이머 대기 태스크

타이머 대기 태스크는 입력/출력 매개변수를 사용할 수 없습니다.

태스크 복제

태스크를 복제한 뒤에 수정해서 사용할 수 있습니다. 태스크를 복제하려면,

  1. 태스크 목록에서 복제할 워크플로우 선택하고, 워크플로우 행에 있는 복제 아이콘을 누릅니다.

    복제된 워크플로우

  2. 태스크 목록에서 복제된 태스크를 확인합니다. 복제된 태스크의 이름은 "(원본 태스크 이름)의 사본"으로 표시됩니다.

태스크 삭제

태스크를 삭제하는 방법은 다음과 같습니다.

  1. 태스크 목록에서 삭제할 워크플로우 선택하고, 워크플로우 행에 있는 휴지통 아이콘을 누릅니다.

  2. 태스크 삭제 확인 창에서 삭제할 태스크를 확인하고 삭제를 누릅니다.

  3. 워크플로우 목록에서 워크플로우가 삭제되었음을 확인합니다.

태스크 실행

태스크를 사용자가 직접 실행하는 방법은 다음과 같습니다.

  1. 태스크 목록에서 실행할 태스크를 선택하고, 워크플로우 행에 있는 실행 아이콘을 누릅니다.

  2. 태스크 실행에서 실행할 태스크를 확인하십시오. 태스크에 입력 매개변수가 있으면 매개변수 목록이 함께 표시됩니다. 매개변수 값을 입력하고 실행을 누르십시오.

    실행할 워크플로우 확인

  3. 태스크가 실행되고, 태스크 실행 모니터 창이 나타납니다.

    • 태스크 실행 모니터 창에 현재 태스크 상태와 시작 후 경과시간이 표시됩니다. 백그라운드 실행을 누르면 태스크는 백그라운드에서 실행되고, 태스크 상태는 워크플로우 실행 모니터에서 확인할 수 있습니다.

    • 태스크 실행 모니터를 켜둔 채로 태스크가 완료되면 다음과 같이 완료 메시지가 표시됩니다.

    • 태스크 실행에 실패하면 오류 메시지가 표시됩니다.

태스크 실행 이력 조회

태스크 목록에서 이력 아이콘을 누르면 해당 워크플로우의 실행 이력을 조회할 수 있습니다.

워크플로우 목록에서 이력 아이콘의 위치

태스크 실행 이력에서 워크플로우가 실행된 시간과 종료된 시간 및 소요시간 등을 확인할 수 있습니다.

워크플로우 이력 화면

  • 이력 검색 기간을 조절해 원하는 기간 동안의 실행 이력을 조회할 수 있습니다.
  • 새로 고침을 누르면 태스크 실행 이력 목록이 갱신됩니다.
  • 다운로드를 누르면 태스크 실행 이력 목록을 다운로드할 수 있습니다.
  • 돌아가기를 누르면 태스크 목록 화면으로 돌아갑니다.
  • 오류에서 오류 원인을 볼 수 있습니다.

태스크 API 엔드포인트

로그프레소 플랫폼 외부에서 태스크를 호출해 실행하도록 API 엔드포인트를 제공합니다. 각 태스크의 API 엔드포인트를 확인하려면 태스크 목록에서 플러그 아이콘을 누르십시오. API를 호출하려면 "설정 > API 키 프로파일"에서 발급한 API 키가 있어야 합니다.

태스크의 API 엔드포인트 정보 조회

  • REST API 엔드포인트 대화상자에서 API_KEY 문자열을 설정 > API 키 프로파일에서 생성한 키를 대입해 사용하십시오.
  • 입력/출력 매개변수가 있으면 해당 매개변수의 형식에 맞도록 값을 할당해야 합니다.

API 호출 양식을 복사한 다음, API 키와 입력/출력 매개변수에 값을 할당한 후 명령 프롬프트(윈도우)나 터미널(리눅스)에서 실행하면 다음과 같이 실행 정보가 표시되며 실행됩니다.

curl -k -d "workflow_guid=cd35b3e0-e1da-41c3-85e9-007d6706a914&task_guid=b47551d2-e7fb-4187-aed2-4f89eed99c39&FROM=2022-01-01&TO=2022-10-14" -H "X-API-KEY: 196ba93b-162a-ade9-d397-fbe8c14c8c16" -X POST https://loki/logpresso/api/workflow/run_task
{"duration":0,"start_time":null,"submit_time":"2022-10-14 15:58:40+0900","input_params":{"FROM":"2022-01-01 00:00:00+0900","TO":"2022-10-14 00:00:00+0900"},"name":"1단계 작업","end_time":null,"output_params":{},"guid":"b4f20552-d99f-4ee0-8caa-b9b57aa01fd7","cancelled":false,"error":null,"status":"runnable"}