로그 관리
OpenFrame을 운영하다 보면 OpenFrame에서 다양한 로그 파일들이 생성된다. 생성된 로그 파일은 OpenFrame 시스템의 건전성을 체크하기 위한 목적이나, 문제가 발생하는 경우 문제 상황을 재현할 수 있는 근거로서 매우 중요하게 사용된다.
본 부록에서는 OpenFrame 시스템에서 생성되는 로그 파일에 대해서 로그의 분류 및 로그 레코드의 형식에 대해 기술한다.
1. 관련 환경설정
OpenFrame의 시스템 로그, 조작 로그, 데이터 로그는 OpenFrame 환경설정의 ofsys 서브젝트의 DIRECTORY 섹션에 LOG_DIR 키와 및 LOG 섹션에 LOG_FILE_CREAT_MODE 키에 VAULE 항목에 설정한 경로에 저장된다.
OpenFrame 환경설정에 대한 자세한 내용은 OpenFrame Base "환경설정 안내서"를 참고한다. |
2. OpenFrame 로그
OpenFrame에서 생성하는 로그 파일은 각각 그 성격에 따라서 서비스 로그, 시스템 로그, 조작 로그, 데이터 로그의 4가지로 분류된다.
로그 | 설명 |
---|---|
Tmax 서버로 작성된 OpenFrame 엔진에서 출력하는 메시지를 기록한다. |
|
OpenFrame 내부적으로 중요한 사건을 기록한다. |
|
OpenFrame을 운용하기 위해 사용자가 셸이나 Studio 등을 통해 지시한 명령을 기록한다. |
|
저장되는 내용이 순수 데이터 형태로 다른 분석 툴의 입력 값으로 사용한다. |
2.1. 서비스 로그
Tmax 서버로 작성된 OpenFrame 엔진에서 출력하는 메시지를 기록한다.
-
로그 디렉터리
${TMAX_DIR}/log/ulog
-
로그 파일 이름
$(SVR)$(DATE).out, $(SVR)$(DATE).err
서비스 로그의 디렉터리는 "${TMAXDIR}/log/ulog"와 같은 디렉터리이다. |
서비스 로그는 다음의 형식으로 저장된다.
-
로그 형식
[YYYY-MM-DDTHH:MM:SS.ffffff] [SERVICE-NAME(PID)] [M] [MSGCODE] MESSAGE-CONTENTS
항목 설명 [YYYY-MM-DDTHH:MM:SS.ffffff]
메시지 출력 시간이다.
[SERVICE-NAME]
실행된 서비스의 명칭이 출력된다.
[PID]
서비스를 실행한 Tmax의 서버 PID가 출력된다.
[M]
메시지 유형이다.
-
M : Message
-
E : Error
-
W : Warning
-
D : Debug
[MSGCODE]
8자리 메시지 코드이다.
-
다음은 서비스 로그의 예이다.
[2019-11-28T17:55:40.096148] [OFRUISVRPROFILE(15569) ] [M] [SVR0100M] service starts. fkey = 469762750, fname = FB_USER, type = string, value = ROOT fkey = 469762149, fname = FB_COMMAND, type = string, value = 1
2.2. 시스템 로그
OpenFrame 내부적으로 중요한 사건을 기록한다.
-
로그 디렉터리
(LOG_DIR)/sys
-
로그 파일 이름
${MODULE_NAME}_YYYYMMDD.log
시스템 로그는 다음의 형식으로 저장된다.
-
로그 형식
[YYYY-MM-DDTHH:MM:SS.ffffff] [EXECUTED-MODULE] [CODE] [MSGCODE] EVENT FREE-FORMAT-CONTENTS
항목 설명 [YYYY-MM-DDTHH:MM:SS.ffffff]
메시지 출력 시간이다.
[EXECUTED-MODULE]
이벤트가 실행된 모듈을 기록한다. JOBID(JOBNAME) 또는 SERVER(PID)가 기록된다.
[CODE]
1자리의 메시지 유형이 출력된다. 보편적으로 후에 서술되는 [MSGCODE] 의 가장 끝자리가 기록된다.
[MSGCODE]
8자리의 메시지코드가 출력된다.
다음은 시스템 로그의 예이다.
[2019-12-03T14:58:28.745867] [ofrsmlog(15570) ] [N] [ALC5005N] OPERATE=DISPOSE,HANDLE=2,DDNAME=_NULLDDN,CCOUNT=1,COND=NORMAL,TERM=KEEP,JOBID=,STEPSEQ=0,RCODE=0 [2019-12-03T14:58:28.813007] [ofrsmlog(15570) ] [N] [ALC5006N] OPERATE=UNALLOCATE,HANDLE=2,DDNAME=,CCOUNT=0,COND=NORMAL,REFCNT=0,JOBID=,STEPSEQ=0,RCODE=0
2.3. 조작 로그
OpenFrame을 운용하기 위해 사용자가 셸이나 Studio 등을 통해 지시한 명령을 기록한다.
-
로그 디렉터리
(LOG_DIR)/cmd
-
로그 파일 이름
${MODULE_NAME}_YYYYMMDD.log
조작 로그는 다음의 형식으로 저장된다.
-
로그 형식
[YYYY-MM-DDTHH:MM:SS.ffffff] [EXECUTED-MODULE] [CODE] [MSGCODE] EVENT FREE-FORMAT-CONTENTS
항목 설명 [YYYY-MM-DDTHH:MM:SS.ffffff]
메시지 출력 시간이다.
[EXECUTED-MODULE]
이벤트가 실행된 모듈을 기록한다. JOBID(JOBNAME) 또는 SERVER(PID)가 기록된다.
[CODE]
1자리의 메시지 유형이 출력된다. 보편적으로 후에 서술되는 [MSGCODE] 의 가장 끝자리가 기록된다.
[MSGCODE]
8자리의 메시지코드가 출력된다.
다음은 조작 로그의 예이다.
[2019-11-15T13:21:47.310244] [tjesmgr(29290) ] [M] [BLG0060M] OPERATE=COMMAND,STATUS=S,CMD=boot,RCODE=0 [2019-11-15T13:21:51.528051] [tjesmgr(29366) ] [M] [BLG0060M] OPERATE=COMMAND,STATUS=S,CMD=ps,RCODE=0 [2019-11-15T13:22:13.844243] [tjesmgr(29431) ] [M] [BLG0060M] OPERATE=COMMAND,STATUS=S,CMD=r /home/arena/oframe_71_fix3/volume_100000/SYS1.JCLLIB/IEBSTR,RCODE=0
3. Base 시스템 로그
Base 시스템에서는 다음과 같은 로그 파일들이 생성된다.
-
서비스 로그
로그 설명 ofrcmsvr$(DATE).out, ofrcmsvr$(DATE).err
ofrcmsvr 서버의 서비스 로그이다.
ofrdmsvr$(DATE).out, ofrdmsvr$(DATE).err
ofrdmsvr 서버의 서비스 로그이다.
ofrdsedt$(DATE).out, ofrdsedt$(DATE).err
ofrdsedt 서버의 서비스 로그이다.
ofrlhsvr$(DATE).out, ofrlhsvr$(DATE).err
ofrlhsvr 서버의 서비스 로그이다.
ofruisvr$(DATE).out, ofruisvr$(DATE).err
ofruisvr 서버의 서비스 로그이다.
ofrsmlog$(DATE).out, ofrsmlog$(DATE).err
ofrsmlog 서버의 서비스 로그이다.
ofrsasvr$(DATE).out, ofrsasvr$(DATE).err
ofrsasvr 서버의 서비스 로그이다.
-
시스템 로그
로그 설명 ams_YYYYMMDD.log
카탈로그 관리 시스템 로그이다.
dsalc_YYYYMMDD.log
데이터셋 할당 시스템 로그이다.
saf_YYYYMMDD.log
시스템 보안 시스템 로그이다.
-
조작 로그
로그 설명 dstool_YYYYMMDD.log
데이터셋 관리 조작 로그이다.
-
데이터 로그
로그 설명 console_YYYYMMDD.log
콘솔 메시지 데이터 로그이다.