태스크 관리
태스크 목록
워크플로우는 다양한 태스크들의 연결로 구성됩니다. 여기서는 태스크 관리에 필요한 작업 방법을 설명합니다.
그림에 표시된 숫자 항목은 다음과 같습니다.
-
목록에 새 태스크를 추가합니다.
-
태스크 목록에서 태스크의 이름을 누르면 태스크 수정 화면으로 이동합니다.
-
위/아래 화살표를 누르면 목록에서 태스크의 위치를 이동할 수 있습니다.
목록에서 태스크의 위치는 실행 순서와 관계 없고, 각 태스크에 정의된 선행 작업 태스크와 조건이 만족하는 경우에 해당 태스크가 실행됩니다.
-
태스크의 API 엔드포인트 정보를 보여줍니다.
-
태스크의 실행 이력을 보여줍니다.
-
태스크의 선행조건과 상관없이 해당 태스크를 실행합니다.
-
태스크를 복제해 새 태스크 사본을 생성합니다.
-
태스크를 삭제합니다.
-
태스크의 속성 정보를 펼쳐보이거나 속성 정보를 가립니다.
태스크 추가/수정
워크플로우 생성 시 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 명령을 사용하십시오.
-
다른 태스크가 출력 매개변수에 전달한 값을 태스크에서 입력으로 사용하려면 동일한 이름을 입력 매개변수로 사용해야 합니다.
- 프로시저 실행 태스크
-
입력 매개변수를 프로시저에 정의한 매개변수 순서와 일치시켜 입력하십시오.
- 프로그램 실행 태스크
-
입력 매개변수를 프로그램에 전달할 순서대로 입력하면 프로그림 실행 명령줄 뒤에 입력 매개변수를 인자로 추가합니다.
- 타이머 대기 태스크
-
타이머 대기 태스크는 입력/출력 매개변수를 사용할 수 없습니다.
태스크 복제
태스크를 복제한 뒤에 수정해서 사용할 수 있습니다. 태스크를 복제하려면,
-
태스크 목록에서 복제할 워크플로우 선택하고, 워크플로우 행에 있는 복제 아이콘을 누릅니다.
-
태스크 목록에서 복제된 태스크를 확인합니다. 복제된 태스크의 이름은 "(원본 태스크 이름)의 사본"으로 표시됩니다.
태스크 삭제
태스크를 삭제하는 방법은 다음과 같습니다.
-
태스크 목록에서 삭제할 워크플로우 선택하고, 워크플로우 행에 있는 휴지통 아이콘을 누릅니다.
-
태스크 삭제 확인 창에서 삭제할 태스크를 확인하고 삭제를 누릅니다.
-
워크플로우 목록에서 워크플로우가 삭제되었음을 확인합니다.
태스크 실행
태스크를 사용자가 직접 실행하는 방법은 다음과 같습니다.
-
태스크 목록에서 실행할 태스크를 선택하고, 워크플로우 행에 있는 실행 아이콘을 누릅니다.
-
태스크 실행에서 실행할 태스크를 확인하십시오. 태스크에 입력 매개변수가 있으면 매개변수 목록이 함께 표시됩니다. 매개변수 값을 입력하고 실행을 누르십시오.
-
태스크가 실행되고, 태스크 실행 모니터 창이 나타납니다.
-
태스크 실행 모니터 창에 현재 태스크 상태와 시작 후 경과시간이 표시됩니다. 백그라운드 실행을 누르면 태스크는 백그라운드에서 실행되고, 태스크 상태는 워크플로우 실행 모니터에서 확인할 수 있습니다.
-
태스크 실행 모니터를 켜둔 채로 태스크가 완료되면 다음과 같이 완료 메시지가 표시됩니다.
-
태스크 실행에 실패하면 오류 메시지가 표시됩니다.
-
태스크 실행 이력 조회
태스크 목록에서 이력 아이콘을 누르면 해당 워크플로우의 실행 이력을 조회할 수 있습니다.
태스크 실행 이력에서 워크플로우가 실행된 시간과 종료된 시간 및 소요시간 등을 확인할 수 있습니다.
- 이력 검색 기간을 조절해 원하는 기간 동안의 실행 이력을 조회할 수 있습니다.
- 새로 고침을 누르면 태스크 실행 이력 목록이 갱신됩니다.
- 다운로드를 누르면 태스크 실행 이력 목록을 다운로드할 수 있습니다.
- 돌아가기를 누르면 태스크 목록 화면으로 돌아갑니다.
- 오류에서 오류 원인을 볼 수 있습니다.
태스크 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"}