로그 관리

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

2.4. 데이터 로그

저장되는 내용이 순수 데이터 형태로 다른 분석 툴의 입력 값으로 사용한다.

  • 로그 디렉터리

    (LOG_DIR)/data
  • 로그 파일 이름

    ${MODULE_NAME}_YYYYMMDD.log

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

    콘솔 메시지 데이터 로그이다.