J-Jobs

Guides -J-Jobs Lite v2.3 사용자 가이드

J-Jobs Lite 사용자 가이드

최종 작성일 : 2019년 5월 7일

기준 버전 : J-Jobs v2.3

Copyright ⓒ LG CNS LG CNS의 사전 승인 없이 본 내용의 전부 또는 일부에 대한 복사, 배포 사용을 금합니다.

본 문서는 J-Jobs Lite 사용자의 이해를 돕기 위한 문서로 Manager 의 메뉴 구성 중심으로 작성되어 있다. J-Jobs의 시스템 설정 및 운영에 대한 전반적인 사항은 운영자 가이드를 참고한다.

제품 소개

J-Jobs의 제품군 중 J-Jobs Lite는 Command/Shell 위주의 배치 프로그램 스케줄링에 특화된 제품이며, 이를 통해 실시간 오류 추적 및 작업 상태 모니터링 등의 통합 관리 편의성을 제공한다.

브라우저 호환성

본 문서에서 주로 설명하게 될 J-Jobs Manager의 브라우저 호환성은 내부적으로 사용하고 있는 다양한 오픈소스의 호환성을 종합하여 판단한다. 현재는 표준 브라우저에서 안정적으로 제공되며 특히 IE 인 경우는 IE11 이상의 버전을 사용할 것을 권장한다.

  • 지원가능 브라우저 목록 Chorme latest, Firefox latest, IE11+, Edge latest, Opera latest, Safari latest

빠르게 시작하기

주기적으로 실행시키고자 하는 Shell 프로그램이 있을 때, J-Jobs에서 다음과 같은 순서로 사용자가 원하는 스케줄링을 빠르고 쉽게 할 수 있다.

  1. Job 등록하기
  2. Job 실행하기
  3. Job 스케줄링
  4. 결과 확인 및 모니터링

Job 등록하기

J-Jobs 사용자로 로그인 한 뒤, Job 메뉴로 이동한다.

왼쪽 Job 폴더 트리에서 최상단 폴더에 우클릭 메뉴를 통해 새로운 폴더를 추가하고, 해당 폴더에 추가를 클릭하여 새로운 Job을 등록한다.

신규 Job IDJob 이름을 입력하고 템플릿의 종류를 Command/Shell로 선택한다.

실행시키고자 하는 Shell 프로그램의 커맨드 경로, 커맨드를 입력한다. 경우에 따라 Shell 프로그램에서 사용하는 전달 인자를 아규먼트란 에 입력하고 Job을 저장한다.

Job 실행하기

스케줄링 하기 전, 등록한 Job이 수행되어 Shell 프로그램이 정상적으로 실행되는지 확인한다.

Job 목록에서 등록한 Job의 실행 버튼을 통해 Job을 실행하거나 실행 메뉴에서 Job을 선택하여 실행할 수 있다. Job 즉시실행 버튼을 클릭하여, Job을 실행한다.

오른쪽 실행내역에서 Job 수행 결과를 확인할 수 있다. 실행 결과 버튼을 클릭하여 Job의 수행 상세 결과와 함께 Step의 로그에서 Shell Command의 출력 로그를 확인할 수 있다.

Job 스케줄링

Job 즉시실행을 통해, Shell Command 실행을 위한 Job 등록이 정상적으로 이루어졌음을 확인했다면 사용자 원하는 일자와 시간 혹은 주기적으로 Job이 수행되도록 스케줄을 등록한다.

Job 편집 화면에서 스케줄 등록을 클릭하여 스케줄을 등록한다. 다음의 등록 예시는 매주 수요일, 오후 5시 정각마다 Job이 수행되는 스케줄이다.

스케줄 정보를 입력하고 저장한 뒤, 시작 버튼을 눌러 스케줄을 시작한다.

결과 확인 및 모니터링

Job 메뉴에서 각 Job의 스케줄 실행내역을 클릭하면, 예정된 다음 스케줄 정보와 실행된 스케줄의 Job 실행 결과를 확인할 수 있다.

또는 결과메뉴의 ALL 탭에서 실행된 스케줄의 Job 수행 결과와 WAITING 탭에서 다음 예정 스케줄 정보를 확인할 수 있다.

매일의 Job 실행 통계 정보를 메인 화면에서 실시간으로 모니터링 할 수 있다.

로그인 및 Manager 화면 구성

J-Jobs의 사용자 등록은 로그인 화면에서 새로운 사용자 등록을 통해 직접 가입한 뒤 운영자가 USER 권한을 부여하거나, 운영자가 사용자를 추가(운영자 가이드 참고) 할 수 있다. 로그인 화면에서 유효한 사용자 ID와 비밀번호를 입력하고 로그인 한다.

J-Jobs의 Manager 화면은 다음과 같다.

  1. Manager의 첫 메인화면(통합 대시보드)으로 이동
  2. 사용자 메뉴 : 운영자의 메뉴 편집에 따라 상이할 수 있다.
    • Job : Job을 편집하고 스케줄링한다.
    • 실행 : 등록된 Job을 필요한 파라미터와 함께 즉시 실행하여 결과를 확인할 수 있다.
    • 결과 : 전체 Job 실행에 대한 결과를 확인할 수 있다.
    • 모니터링 : J-Jobs의 서버와 에이전트의 상태를 실시간으로 보여준다.
  3. 서버 시간 : J-Jobs 운영의 기준이 되는 서버 시간을 보여준다.
  4. 사용자 정보 : 로그인한 사용자의 이름과 역할을 보여주며 클릭할 경우 해당 사용자의 정보를 수정할 수 있다.
    • 비밀번호 규칙 : 10자 이상 190자 이하의 영문자와 숫자 포함
    • 언어 : 한국어, 영어 중 선택
    • 타임존 : Manager의 시간 표시에 대한 타임존 적용
    • 시간표시 형식 : Manager 화면에서 시간 표시 형식을 일괄적으로 변경
  5. 로그아웃
  6. 검색 : Job ID, Request ID 등의 ID 값으로 통합 검색이 가능하다.
  7. 작업 영역 : 첫 화면은 통합 대시보드이며, 사용자가 선택한 메뉴에 따라 작업 화면이 달라진다.

Job 관리

Web 기반의 Manager를 통해 J-Jobs의 기본 실행 단위인 Job을 관리할 수 있다.

폴더 관리

Job은 최상위 폴더를 제외한 특정 폴더 하위에 생성하여 관리할 수 있다. Job 메뉴의 오른쪽 폴더 트리가 있으며, 폴더의 우클릭 메뉴를 통해 폴더를 추가하거나 수정, 삭제할 수 있다. 단, 최상위 폴더는 수정하거나 삭제 할 수 없다.

  • 폴더 추가 : 선택된 폴더 하위에 새로운 폴더를 추가한다.
  • 폴더 수정 : 폴더의 이름을 수정하거나, 폴더를 이동하고자 할 때 아래처럼 상위 폴더를 수정한다.
  • 폴더 삭제 : 선택된 폴더를 영구히 삭제하며, 폴더 하위의 폴더 및 Job을 함께 삭제한다. (Job의 실행 중인 스케줄이 있을 경우 삭제 불가)

Job 등록

Job 메뉴에서 추가를 클릭하면 Job 생성을 위한 Wizard가 열린다.

공통 항목

항목설명기본값
폴더Job이 속한 폴더
Job ID알파벳, 숫자, 특수문자(-_)로 구성된 2~50 길이의 사용자가 정하는 Job의 고유 ID
Job 이름Job 이름
템플릿 종류Command/Shell(쉘 프로그램 실행), Dummy(더미) 템플릿 중 선택
Job 로그레벨Job의 기본 로그레벨 설정 (기본 설정, ERROR, INFO, DEBUG, TRACE 중 선택)
- 기본 설정 : 시스템 전역으로 설정된 Job 로그 레벨(운영자 가이드 참고)
기본 설정
Step 로그레벨Job 하위에 있는 Step의 로그레벨 설정(기본 설정, ERROR, INFO, DEBUG, TRACE 중 선택)
- 기본 설정 : 시스템 전역으로 설정된 Step 로그 레벨(운영자 가이드 참고)
기본 설정
로그 합치기Job 로그와 Step 로그를 함께 기록한다.
실행구역기본적으로 Job은 서버 그룹 내 모든 서버, 모든 에이전트에서 실행되지만 만약 특정 서버나 에이전트 그룹에서 실행해야 할 Job인 경우에는 실행구역을 수정한다.선택된 서버그룹 - 전체 서버 - 전체 에이전트 그룹
Job 최대 동시실행 개수해당 Job이 동시에 최대 몇 개까지 실행 가능한지를 지정한다. 값이 없거나 0으로 설정하면 제한하지 않는다.빈 값 (제한 없음)
Confirm 여부Confirm 을 사용하면 Job이 실행되더라도 관리자의 확인 후 Job 실행이 진행된다. 결과 메뉴에서 Confirm 목록에서 확인할 수 있다.안 함
주 담당자Job에 관련된 주 담당자에 대한 정보를 기록한다.현재 로그인 사용자
부 담당자Job에 관련된 부 담당자에 대한 정보를 기록한다.
결과 처리- 오류종료: Job 실행 결과 오류가 발생하면 후행 Job을 실행하지 않는다.
- 오류무시: Job 실행 결과 오류가 발생해도 후행 Job을 실행한다.
- 자동재처리: Job 실행 결과 오류가 발생하면 자동으로 재처리를 수행한다. 자동재처리를 위해 횟수와 주기(초)를 추가로 입력받는다.
오류종료
항목설명기본값
알림 조건알림을 수신받을 Job 실행 관련 이벤트 조건 선택
- 작업시작: Job이 실행되면 알림
- 성공종료: Job이 실행 후 성공으로 종료하면 알림
- 오류종료: Job이 실행 후 실패로 종료하면 알림
- 처리지연: Job이 실행 후 N분이 경과하면 알림
알림 수신자 목록설정한 알림 조건이 발생하면 알림을 수신할 이메일 주소를 입력한다.
Job 우선순위동시에 많은 Job이 실행될 경우, 우선순위가 높은 순서대로 Job이 실행된다. 특별히 지정하지 않으면 0으로 지정된다.0
예상 작업시간(초)Job이 시작하여 종료할때까지의 예상 작업 시간을 입력한다. 예상 시간을 기반으로 스케줄 계획 보기를 보여준다.60초

Command/Shell 템플릿

윈도우의 CMD, 리눅스의 Shell 등을 실행시키는 Step이다. 작성된 커맨드의 경로와 커맨드를 필수값으로 입력해야 한다. 필요한 파라미터는 사용자 정의 Property 에서 등록할 수 있다.

항목설명기본값
커맨드 경로실행할 커멘드의 경로
예) /bin/
커맨드실행할 커맨드
예) ls
- 파일찾기FTP 브라우저를 통한 실행 command/shell 파일 선택 (해당 기능을 사용하기 위해 agent의 SSH 접속 설정 필요, 자세한 설정은 운영자 가이드 참고)
- 실행구역 파일 확인실행되는 에이전트 상에 해당 커맨드 파일이 존재하는지 여부 확인 (해당 기능을 사용하기 위해 agent의 SSH 접속 설정 필요, 자세한 설정은 운영자 가이드 참고)
아규먼트커맨드에 넘길 아규먼트
예제1) -al /home/jjobs
예제2) -al ${PARAM("PATH")} (사용자 정의 Property 중 "PATH" 파라미터의 값을 아규먼트로 사용)
인코딩로그 파일을 기록할 때 사용할 인코딩시스템 기본값
출력값 추출 시작방향로그파일에서 출력값을 추출하기 위한 시작 위치 방향
- 앞부터
- 뒤부터
출력값 추출 시작점로그 파일에서 출력값을 추출하기 위한 시작 위치 값
- 시작방향이 '앞부터' 인 경우 : 0부터 시작
- 시작방향이 '뒷부터' 인 경우 : 1부터 시작
출력값 길이시작점부터 추출할 값의 길이
비교할 대상 값추출한 값과 비교할 대상
비교 연산자추출값과 비교 대상과의 동등, 대소비교 연산 선택
파라미터 인자포함사용자 정의 Property를 아규먼트에 'name=value' 형식으로 전달사용 안 함
사용자 정의 Property커맨드에 넘길 아규먼트
- 고정값 : Property 값이 편집 시점에 고정된다.(상수값)
- 파라미터 : Job을 실행할 때마다 파라미터로 값을 입력받아 Job 내부에 전달한다. 파라미터로 전달되지 않으면 기본값을 사용한다.
자세한 부가 설명은 사용자 정의 Property 설정을 참고한다.
사용 안 함

출력값 추출 사용 예시

Shell 프로그램의 출력 로그와 출력값 추출 설정이 다음과 같을 경우, 연산 결과에 따라 최종 Job의 성공/실패 여부를 판단한다.

출력값 추출 설정 :

  • 출력값 추출 시작방향 : '뒤부터'
  • 출력값 추출 시작점 : '1'
  • 출력값 추출 길이 : '1'
  • 비교할 대상 값 : 'Y'
  • 비교 연산자 : '='

결과 :

  • 프로그램 종료 코드(exit code)가 0이면서, 표준 출력 로그가 "COMPLETE=Y" 인 경우, 출력값 추출 'Y' = 비교 대상 값 'Y' 이므로 최종 Job 결과는 **'성공'**이다.
  • 프로그램 종료 코드(exit code)가 0이면서, 표준 출력 로그가 "COMPLETE=N" 인 경우, 출력값 추출 'N' = 비교 대상 값 'Y' 이므로 최종 Job 결과는 **'실패'**이다.

사용자 정의 Property 설정

전역 파라미터

사용자 정의 Property의 값에 전역 파라미터를 사용하고자 할 때, ${전역 파라미터 이름} 형태로 입력한다. 전역 파라미터 목록을 클릭하면 운영자가 설정한 전역 파라미터 목록을 확인할 수 있으며, 여기에서 사용하고자 하는 파라미터 오른쪽에 클립보드로 복사 기능을 이용하면 바로 붙여넣기가 가능하다.

파라미터 예약어

파라미터 예약어는 입력받은 파라미터 값, 출력변수의 값 및 기타 정보를 동적으로 가져오는 기능을 수행하며, 날짜을 Utility 및 기본적인 String Utility를 제공하고 있다. 이러한 예약어 값을 복사하여 파라미터 타입의 Property 값에 등록하면 실제 Job이 수행될 때 값이 대체된다. 특히 날짜의 경우 에이전트 시간 또는 서버 시간을 대입할 수 있으며 간단한 연산도 가능하다. 파라미터 예약어 목록을 클릭하면 J-Jobs에서 제공하는 예약어 목록을 확인할 수 있다.

항목설명
${JOB_ID}Job ID를 반환
${USER_ID}실행한 사용자 ID를 반환
${AGENT_ID}실행한 에이전트 ID를 반환
${PID}에이전트의 Process ID를 반환
${INSTANCE_ID}인스턴스 ID를 반환
${SERVER_DATE("yyyyMMdd")}DB 현재시간 yyyyMMdd형태로 반환
${SERVER_DATE_ADD_SEC("yyyyMMddHHmmss",2)}DB 현재시간에 2초를 더한 시간 yyyyMMddHHmmss 형태로 반환
${SERVER_DATE_ADD_MIN("yyyyMMddHHmmss",2)}DB 현재시간에 2분을 더한 시간 yyyyMMddHHmmss 형태로 반환
${SERVER_DATE_ADD_HOUR("yyyyMMddHHmmss",2)}DB 현재시간에 2시간을 더한 시간 yyyyMMddHHmmss 형태로 반환
${SERVER_DATE_ADD_DATE("yyyyMMdd",2)}DB 현재시간에 2일을 더한 시간 yyyyMMdd 형태로 반환
${SERVER_DATE_ADD_MONTH("yyyyMMdd",2)}DB 현재시간에 2달을 더한 시간 yyyyMMdd 형태로 반환
${SERVER_DATE_ADD_YEAR("yyyyMMdd",2)}DB 현재시간에 2년을 더한 시간 yyyyMMdd 형태로 반환
${AGENT_DATE("yyyyMMdd")}에이전트 현재시간 yyyyMMdd형태로 반환
${AGENT_DATE_ADD_SEC("yyyyMMddHHmmss",2)}에이전트 현재시간에 2초를 더한 시간 yyyyMMddHHmmss 형태로 반환
${AGENT_DATE_ADD_MIN("yyyyMMddHHmmss",2)}에이전트 현재시간에 2분을 더한 시간 yyyyMMddHHmmss 형태로 반환
${AGENT_DATE_ADD_HOUR("yyyyMMddHHmmss",2)}에이전트 현재시간에 2시간을 더한 시간 yyyyMMddHHmmss 형태로 반환
${AGENT_DATE_ADD_DATE("yyyyMMdd",2)}에이전트 현재시간에 2일을 더한 시간 yyyyMMdd 형태로 반환
${AGENT_DATE_ADD_MONTH("yyyyMMdd",2)}에이전트 현재시간에 2달을 더한 시간 yyyyMMdd 형태로 반환
${AGENT_DATE_ADD_YEAR("yyyyMMdd",2)}에이전트 현재시간에 2년을 더한 시간 yyyyMMdd 형태로 반환
${SUBSTRING("1234567890",0,3)}문자열 자름
${LENGTH("yyyyMMdd")}문자열 길이 반환
${CONCAT("A","B")}문자열 결합
${SPLIT("2018-01-01","-",0)}문자열 Split
${PARAM("key")}입력된 파라미터 중 key값에 해당되는 값 반환

예약어 조합

  • ${} 내부에서 조합할 경우 : ${CONCAT("A",PARAM("reqdate"))}
  • ${} 외부에서 조합할 경우 : Test=${PARAM("reqdata")}_${PARAM("reqtime")}

스케줄링

Job에 대한 기본 정보를 저장한 다음, 특정 시간에 혹은 주기적으로 해당 Job을 실행시키고자 할 때 스케줄을 등록한다.

스케줄 등록

Job에 스케줄을 등록하기 위해 Job Wizard 화면에서 좌측 하단에 스케줄 등록을 클릭하면 스케줄 탭이 추가된다.

항목설명기본값
유형날짜 지정(Date) 유형, 실행 간격(Interval) 유형 중 선택날짜(Date)
유효기간유효기간 사용 여부 & 유효기간 범위 (사용 여부를 체크하면 기간 입력 가능)사용 안함
유효시간유효시간 사용 여부 & 유효시간 범위 (사용 여부를 체크하면 시간 입력 가능)사용 안함
타임존스케줄 시간에 적용할 타임존 사용 여부 & 기등록된 타임존 정보 중 선택Asia/Seoul
알림사용스케줄 알림 사용 여부사용 안함
알림 조건알림을 수신받을 스케줄 관련 이벤트 조건 선택
- 스케줄 시작
- 스케줄 일정 지연
알림수신Email로 알림 수신 여부 선택, 체크하면 수신받을 이메일 주소를 입력 받을 수 있다.

날짜 기준으로 스케줄링 설정하기

  • 날짜 기준으로 실행 예약 가능
  • 특정 일시, 마지막일 등 지정 가능
  • 일 단위/주 단위/월 단위/연 단위의 반복일정 등록 가능
특정일시 스케줄 Job 등록

시간을 지정할 수 있으며 지정한 경우, 해당 시간에만 수행된다.

[매일 15시 30분에 실행]

특정요일 스케줄 Job 등록

요일을 지정할 수 있으며(다중 선택 가능) 지정한 경우, 해당 요일에만 수행된다.

[매주 수요일 15시 30분에 실행]

매월 특정일자 스케줄 Job 등록

매월 특정일자를 지정할 수 있으며 지정한 경우, 해당 일자에만 수행된다.

[매월 1일 15시 30분에 실행 ]

매월 말일 기준 N일전 스케줄 Job 등록

매월 말일 기준으로 N일 전 날짜를 지정할 수 있으며 지정한 경우, 해당 일자에만 수행된다. 예를 들어 -3일로 지정하면 1월은 28일, 2월은 25일(윤달이면 26일), 4월은 27일이 된다.

[매월 말일 3일전 15시 30분에 실행]

매년 특정월 특정일자 스케줄 Job 등록

매년 특정월, 특정일자를 지정할 수 있으며 지정한 경우, 해당 일자에만 수행된다. 예를 들어 분기별 말일 스케줄은 다음과 같이 지정할 수 있다.

[분기별 말일 15시 30분에 실행]

2월(1~28일)에 월 말일 기준 -30일 혹은 월 시작 기준 +31일로 스케줄링 된 경우

이 경우에 사용자의 의도와 다르게 전혀 다른 일자로 스케줄링된다. 따라서 이러한 월 시작 기준, 말일 기준으로 스케줄링을 하고자 할 때는 반드시 미리보기를 이용하여 언제 스케줄이 실행되는지에 대한 확인과 주의가 필요하다.

매시 매분 30초에 실행 스케줄

매시 매분 초를 지정할 수 있으며 지정한 경우, 해당 시간에만 수행된다.

[매일 매시 매분 30초마다 실행]

월/일자/시간/분/초 다중선택 스케줄

월/일자/시간/분/초를 다중선택 할 수 있으며 지정한 경우, 해당 시간에만 수행된다.

[월/일자/시간/분/초 다중선택 실행]

중복 실행

J-Jobs는 기본적으로 스케줄 작업의 중복수행을 허용하지 않기 때문에, 작업 수행시간이 스케줄 간격보다 큰 경우 중복 실행되지 않는다. 예를 들어 매시 매분 매초에 수행되도록 스케줄을 등록하였으나 실제 실행 작업 소요시간이 5초인 경우, 이전 실행 작업 종료 후(5초 후) 이전 실행이 종료된 시점을 기준으로 다음 스케줄이 수행된다.

실행 간격 기준으로 스케줄링 설정하기

  • 이전 실행과 다음 실행 사이의 간격을 지정하여 실행 예약 가능
  • 이전 실행의 시작 시간이나 종료시간 기준으로 설정함
  • 초/분/시/일/주/월 단위의 반복일정 등록 가능
시작시간 기준 실행 간격 스케줄 Job 등록

이전 실행 시작 시간 기준으로 초/분/시/일/주/월 단위로 실행 간격을 지정할 수 있으며, 1시간 간격으로 지정한 경우, 1시간 간격으로 수행된다. J-Jobs는 기본적으로 스케줄 중복수행을 허용하지 않으나, 실행 간격 등록 방식 이면서 시작시간 기준인 경우에만 예외적으로 Job의 중복 실행을 허용한다. 중복실행을 허용하고자 하는 경우에는 중복실행 허용 에 체크한다.

[1시간 간격으로 실행]

종료시간 기준 실행 간격 스케줄 Job 등록

이전 실행 시작 종료 기준으로 초/분/시/일/주/월 단위로 실행 간격을 지정할 수 있으며, 1시간 간격으로 지정한 경우, 1시간 간격으로 수행된다. 참고로 만약 실행 소요 시간이 10분인 경우, 실제 실행 간격은 1시간 10분이 된다.

[1시간 간격으로 실행]

스케줄 유효기간 설정하기

스케줄 항목 중에서 유효기간 사용 여부를 체크한 뒤, 유효기간을 입력한다. 유효기간을 설정하면, 설정된 기간 동안에만 수행되도록 스케줄 시간 범위가 제한된다.

스케줄 유효시간 설정하기

스케줄 항목 중에서 유효시간 사용 여부를 체크한 뒤, 유효시간을 입력한다. 유효시간을 설정하면, 해당 시간 사이에 스케줄이 실행된다.

만약, 22:00:00 부터 02:00:00 으로 입력하였을 경우, 22시부터 익일 2시까지 스케줄이 실행된다.

스케줄 타임존 설정하기

스케줄 항목 중에서 타임존 사용 여부를 체크한 뒤, 기등록된 타임존 정보 중에서 타임존을 선택하여 입력한다. 스케줄 작업 등록 시, 타임존을 선택하면 등록된 타임존을 고려하여 Job이 수행되며, 이 때 썸머타임이 적용된 타임존을 선택하면 **타임존&썸머타임(기간/시간)**을 고려하여 수행 예정 시간이 계산된다.

미리보기

사용자가 지정한 날짜 혹은 간격으로 스케줄을 설정한 뒤, 캘린더 형태로 앞으로의 스케줄 실행을 미리볼 수 있다. 스케줄 정보를 입력한 상태에서 하단의 미리보기를 통해 확인할 수 있다.

[매주 월, 수, 금마다 실행되며 유효기간이 4/27 ~ 7/31으로 설정]

미리보기 전체

스케줄 정보를 저장하기 전, 기존에 실행 중인 전체 스케줄과 함께 새로 등록하고자 하는 스케줄의 실행 계획을 미리 볼 수 있다.

스케줄 관리

전체 목록

모든 Job에 등록된 스케줄을 한 곳에 보여주고 이를 관리할 수 있다. 목록에서 스케줄을 다건 혹은 다건으로 선택한 후, 상단의 삭제, 시작, 중지 기능을 이용하여 스케줄을 관리할 수 있다.

실행 현황

스케줄 실행 현황을 간트(Gantt) 형식으로 제공하여 한눈에 확인할 수 있다.

  1. 검색 단위 : 일/월/연 단위로 스케줄 실행 현황 검색

  2. 검색 기간 : yyyy-mm-dd HH:MM:SS 형태의 검색 기간 지정

  3. 검색 조건 : 특정 Job ID, 스케줄명, 소유자로 스케줄 검색

  4. 검색 값 : 검색 조건에 대한 값 입력

  5. 스케줄 필터링

    • 스케줄 이름 : 스케줄 중 스케줄 이름의 특정 키워드(LIKE 검색)에 해당되는 스케줄만 필터링
    • 스케줄 상태 : 스케줄 상태 별로 gantt 상에서 필터링
  6. 시간 스케일링 : Gantt 차트에서 기간에 대한 간격 조정

    • 검색 단위 '일' 일 때 : 1시간/3시간/6시간/12시간

    • 검색 단위 '월' 일 때 : 1일/12시간

    • 검색 단위 '년' 일 때 : 월/주/일

  7. 실행구역 별 필터링 : 특정 에이전트 그룹이나 에이전트를 선택하면 해당 에이전트 그룹, 에이전트에서 실행된 스케줄만 Gantt에 필터링된다.

  8. 상세 설명 : 스케줄 실행에 대한 상세 정보

계획 보기

현재 시점 이후의 시작 상태의 모든 스케줄 실행 계획을 Gantt 형식으로 한눈에 확인할 수 있다.

  1. 검색 단위 : 일/월/연 단위로 스케줄 계획 검색

  2. 검색 기간 : yyyy-mm-dd HH:MM:SS 형태의 검색 기간 지정

  3. 검색 조건 : 특정 Job ID, 스케줄명, 소유자로 스케줄 검색

  4. 검색 값 : 검색 조건에 대한 값 입력

  5. 스케줄 필터링

    • 스케줄 이름 : 스케줄 중 스케줄 이름의 특정 키워드(LIKE 검색)에 해당되는 스케줄만 필터링
    • 스케줄 형태 : 스케줄 형태(Date/Interval) 별로 gantt 상에서 필터링
  6. 시간 스케일링 : Gantt 차트에서 기간에 대한 간격 조정

    • 검색 단위 '일' 일 때 : 1시간/3시간/6시간/12시간

    • 검색 단위 '월' 일 때 : 1일/12시간

    • 검색 단위 '년' 일 때 : 월/주/일

  7. 실행구역 별 필터링 : 특정 에이전트 그룹이나 에이전트를 선택하면 해당 에이전트 그룹, 에이전트에서 실행된 스케줄만 Gantt에 필터링된다.

  8. 상세 설명 : 스케줄 실행에 대한 상세 정보

스케줄 시작/중지

스케줄의 기본 정보를 입력하고 저장한 뒤, 스케줄을 시작하거나 중지할 수 있다. 다음은 스케줄의 상태를 나타내는 아이콘이다.

상태 아이콘설명
Job에 스케줄이 등록되어 있지 않음
Job에 스케줄이 등록되어 있지만 중지 중인 상태
Job에 스케줄이 등록되어 있고, 시작하여 실행 중인 상태

스케줄 수정/삭제

스케줄을 수정하고자 할 때는 스케줄 탭으로 이동하여 스케줄의 수정사항을 입력한 뒤 변경사항 저장을 클릭하여 저장한다. 스케줄을 수정할 때 실행 중인 상태일 경우, 이전 스케줄 정보에 의해 스케줄링되어 대기 상태에 있는 실행 정보는 삭제되고 새로운 스케줄이 등록된다.

스케줄을 삭제하고자 할 때는 스케줄 탭의 하단에 있는 삭제를 클릭하면 삭제할 수 있다. 스케줄이 실행상태에서 삭제할 경우, 다음 예정되었던 스케줄 계획도 바로 삭제된다.

스케줄 실행내역

스케줄 탭 하단에 실행내역을 클릭하면, 해당 스케줄의 다음 실행 예정 정보와 과거 스케줄 실행 내역을 일자별로 확인할 수 있다. Job 목록에서도 스케줄 실행내역을 클릭하여 확인할 수 있다.

Job 수정, 이동 및 삭제

Job 목록 중 수정하고자 하는 Job의 ID를 클릭하면 Wizard가 열리고, Job ID를 제외한 나머지 Job 정보(참고)를 수정할 수 있다.

Job의 소속 폴더를 변경하고자 할 때는 이동 버튼을 클릭하여 상위 폴더를 변경하여 저장한다.

Job 목록 중 삭제하고자 하는 Job을 다건 혹은 단건 선택한 뒤 삭제 버튼을 통해 Job을 삭제할 수 있다. 삭제하고자 하는 Job에 스케줄이 설정되어 있는 경우 스케줄이 중지 상태인 경우에만 Job을 삭제할 수 있다.

Job 권한

최초의 Job을 생성한 사용자가 그 Job의 소유자이며, 소유자를 제외한 다른 사용자(administrator 제외)는 Job을 실행하거나 수정, 삭제 할 수 없다.

[user200 사용자가 user 사용자 소유의 Job을 실행시키고자 할 때 권한 없음 오류 발생]

단, 소유자가 본인 Job의 잠금 상태를 해제하면 해당 Job을 다른 사용자도 실행, 수정, 삭제 할 수 있다.

내 것만 보기

Job 목록 등에서 우측 상단에 내 것만이 활성화 되어 있을 경우, 로그인 사용자가 소유한 Job 목록만 화면에 출력된다.

기타 기능

Job 메뉴의 오른쪽 상단 메뉴 중 Job 관리를 통해 Job을 다운로드하거나 엑셀로 일괄 다운로드 받을 수 있다.

Job 다운로드

Job을 로컬에 백업하거나, 다른 J-Jobs 환경에 Job을 이관해야 할 때 Job 다운로드 기능을 이용한다. zip 다운로드를 클릭하여 다운로드 받고자 하는 Job 폴더를 선택하고 다운로드를 클릭하면 해당 폴더 하위의 모든 Job이 zip 파일로 다운로드 된다.

엑셀 다운로드

등록되어 있는 Job을 엑셀 형태로 다운로드 받을 수 있다. 다운로드 받은 엑셀 파일은 운영자 메뉴 중 엑셀 업로드를 통해 다시 업로드할 수 있다.

엑셀 다운로드를 클릭하여 다운로드 받고자 하는 Job 폴더를 선택한 다음, 다운로드를 클릭하면 엑셀 파일(*.xlsx)로 다운로드된다.

실행 및 결과

Job 실행

스케줄과는 별도로 Job을 일회성으로 즉시 실행시킬 수 있다. 등록된 Job을 실행하기 위해서, Job 목록에서 Job의 즉시실행()을 클릭하거나 실행 메뉴에서 실행하고자 하는 Job을 선택한다.

실행 화면은 크게 좌측의 Job 파라미터와 우측의 실행내역으로 구성되어 있다.

**[Job 파라미터]**의 실행 파라미터 영역의 항목은 Job 기본정보에 설정된 값을 기본값으로 갖는다. 실행할 때 일회성으로 실행 파라미터 값을 변경하여 할 수 있다. 파라미터는 Job에 설정한 사용자 정의 Property(참고)의 항목을 보여주며, Job 실행에 필요한 파라미터 값을 입력하여 실행할 수 있다.

**[실행내역]**에서는 해당 Job의 실행 결과를 보여준다. 실행 결과 상태와 요청 시간, 처리 시간 등을 확인할 수 있고, 실행 결과를 클릭하면 로그와 상세한 Job 실행 결과를 확인할 수 있다. 실행 내역에 대한 자세한 설명은 로그 및 결과 확인을 참고한다.

로그 및 결과 확인

결과 화면은 상단의 검색과 실행 내역 목록으로 구성된다.

상단의 검색 조건은 다음과 같다.

검색 조건설명
날짜 (필수)검색할 Job 요청 시간 (From ~ To)
기본값으로 어제 ~ 내일이 설정되어 있음
요청 ID요청 ID
인스턴스 IDJob 인스턴스 ID
실행 IDJob 실행 ID
Job IDJob ID
Job 명Job 명. 부분 일치 검색
에이전트 명Job을 실행한 에이전트명
에이전트 그룹 IDJob을 실행한 에이전트 그룹 ID
스케줄 이름실행한 스케줄명
요청 사용자요청 사용자

실행 상태

탭 구분실행 상태설명
전체대기를 제외한 모든 실행 결과가 보이는 탭이다. (기본 선택)
대기Job 요청이 많아 진행되지 못하고 대기중이거나, 스케줄 요청 후 대기중인 실행 목록이 보이는 탭이다.
확인운영자나 관리자의 확인을 받아야 하는 실행 목록이 보이는 탭이다.
진행실행중인 목록만 보이는 탭이다.
오류실패하거나 중지한 실행 목록만 보이는 탭이다.
완료성공적으로 종료한 실행 목록만 보이는 탭이다.

실행 단계 이해하기

실행 결과에서 볼 수 있는 각각의 ID를 이해하기 위해서, J-Jobs의 실행 단계에 대한 이해가 필요하다. 실행은 크게 4 단계로 진행된다. 각 단계마다 ID가 부여된다.

  1. Job 요청 (Job Request)

    Job 요청은 외부로부터 Job 실행 요청 의뢰를 받은 단계이다. 즉시 실행이나 스케줄된 실행은 모두 Job 실행 목록에 추가되며 에이전트가 처리하기 전까지 대기한다.

  2. Job 인스턴스 (Job Instance)

    Job 요청과 1대 1로 대응되는 개념으로, 에이전트에서 실제 Job이 실행되기 위한 실행 단위이다. 만약 Job 인스턴스 ID를 부여받지 못했다면 에이전트의 상태를 확인해 볼 필요가 있다.

  3. Job 실행 (Job Execution)

    Job 인스턴스가 Job을 실행하는 하나의 시도로 실행시마다 하나씩 생성된다. 재시작 기능을 이용하였을 경우 Job 실행은 새롭게 생성되지만 Job 인스턴스는 최초 실행시 생성된 Job 인스턴스를 재활용한다.

  4. Step 실행 (Step Execution)

    Job이 실행되면 Job에 구성되어 있는 Step의 흐름대로 Step 실행이 생성된다. 이곳에서 실제 업무 로직이 수행되므로 업무와 관련된 로그를 보기 위해서는 Step 실행 로그를 확인하여야 한다.

로그 확인

실행 결과 목록에서 상태를 클릭하면 Job의 로그 확인창이 열린다. 로그 모아보기를 사용하여 Job을 실행하였을 경우, Job 로그에서 하위 Step의 로그도 함께 확인할 수 있다. Job이 실행 중인 상태에서 로그를 확인할 경우에도 주기적으로 새로고침하여 준실시간으로 로그를 볼 수 있다.

기능설명
Download전체 로그 파일을 다운로드 한다.
Scroll Lock활성화되면 스크롤 바를 자동으로 움직이지 않도록 한다.
Refresh로그 파일 정보 가져오기를 시작 또는 중지한다. 최초에 팝업이 열리면서 Refresh 버튼은 자동 활성화되어 로그를 주기적으로 가져온다. 로그 파일을 모두 읽었으면 Refresh는 중지된다.

Job과 Step의 로그를 각각 확인하기 위해서, 실행 결과 목록에서 실행 ID를 클릭하면 실행 상세 정보 팝업이 나타나고, 각각의 Job과 Step의 상태를 클릭하면 로그를 확인할 수 있다.

모니터링

Manager를 통해 Job의 실행 상태와 Server, Agent의 자원 상태를 실시간으로 모니터링 할 수 있다.

통합 대시보드

Manager의 첫 화면은 Job의 실행 상태와 통계, 그리고 자원을 실시간으로 모니터링 할 수 있는 통합 대시보드 화면이다.

  1. Today Job Status : 오늘의 Job 실행 상태
    • Delay : 현재 지연 중인 Job 실행 수. 현재 시간 기준으로 스케줄에 의한 예정 시작 시간이 지났을 경우 지연으로 판단한다.
    • Error : 오늘 현재까지 오류/실패로 끝난 Job 실행 결과 수
    • Confirm : 운영자 확인(Confirm)이 필요한 Job 실행 요청 수
    • Completed : 오늘 현재까지 성공으로 끝난 Job 실행 결과 수
    • Stopped : 사용자에 의해 중단된 Job 결과 수
    • Running : 현재 시간 기준으로 실행 중인 Job 개수
    • Waiting : 처리 대기 중인 Job 개수(Delay와 다름)
  2. Job Statistics : 과거 Job 실행 통계 정보
    • Weekly Job Trend : 최근 7일동안 성공, 실패 Job 실행 수 트렌드
    • Weekly Top 5 The Longest Requests : 최근 7일동안 가장 실행 시간이 긴 순서의 Job 실행 결과 5개 목록
  3. Resource Monitoring : 서버와 에이전트 상태 모니터링
    • Server Status : 연결된 서버 수 및 서버 별 기동 상태 표시
    • Agent Status : 연결된 에이전트 수 및 에이전트 별 기동 상태 표시

서버

등록된 서버(J-Jobs Server)의 상태를 모니터링 할 수 있으며, 같은 서버 그룹에 연결된 에이전트(J-Jobs Agent)들의 상태와 Job 처리 현황을 모니터링할 수 있는 화면이다.

  • 작업 통계 보기 : Job 처리 현황을 일자별, 에이전트 별로 확인할 수 있다.

  • 최대 동시실행 모니터링 : Job 별로 설정한 최대 동시실행 개수에 따라 실행 상태를 모니터링 한다.

  • 새로고침

    • 강력 새로고침 : 화면을 완전히 새로고침하여 신규 에이전트가 추가되거나 에이전트의 삭제로 인해 에이전트 목록이 변경될 수 있다.
    • 일반 새로고침 : 에이전트 목록 변경 없이 에이전트의 자원 상태에 대해서만 새로고침한다.
  • 서버 그룹 : 서버들의 논리적인 그룹

  • 서버 상태 구분

    • 정상 : 서버가 정상 동작중이며, 같은 서버 그룹 내 최소 하나 이상의 에이전트와 정상 통신 중인 경우
    • 구동
    • 접속 대기 : 서버 기동 상태는 정상이지만, 현재 연결된 에이전트가 없을 경우
    • 비정상 : 서버 기동 중 오류가 발생하여 비정상 상태
    • 중지 : 서버가 중지된 경우
  • 서버 시간 : 서버가 설치된 곳의 현재 시간을 나타낸다.

  • 에이전트 그룹 : 서버 그룹 내 존재하는 에이전트들의 논리적인 그룹

  • 프로세스 상세 정보 보기 : 에이전트에서 실행시킨 프로세스의 목록과 상태를 확인할 수 있다.

  • 에이전트 자원 상태 : 현재 처리 중인 Job 개수, 에이전트가 실행중인 곳의 CPU, Memory, Disk 등의 자원 상태를 새로고침 주기마다 업데이트하여 보여준다.

  • 에이전트 시간 : 에이전트가 설치된 곳의 현재 시간을 나타낸다.

에이전트

등록된 에이전트들의 목록과 상태를 모니터링할 수 있는 화면이다.

항목설명
-에이전트 상태 / 타임존
: 정상 / : 오류
서버 그룹서버 그룹
에이전트 그룹에이전트 그룹
에이전트에이전트 명 (에이전트 ID)
프로세스 상태정상: 프로세스 수 - 실행중인 Job 개수
비정상: 프로세스 수 - 실행중이지 않은 Job 개수
수집시간에이전트 정보 수집 시간
CPUCPU 정보 (%)
메모리메모리 정보 (%)
디스크디스크 정보 (%)