콘텐츠로 이동

altiAudit

altiAudit#

개요#

감사가 Altibase 서버에서 수행 중이라면, $ALTIBASE_HOME/trc 디렉토리에 기본적으로 감사 로그 파일이 생성되고 로그가 기록될 것이다. 감사 로그 파일의 위치는 AUDIT_LOG_DIR 프로퍼티로 변경 가능하다. 이 파일에는 사용자가 읽을 수 없는 바이너리 형태의 감사 로그가 기록되어 있다. altiAudit 유틸리티는 감사 로그 파일을 문자 형태로 변환하여 출력함으로써 사용자가 감사 로그를 분석할 수 있게 한다.

altiAudit [-s] {audit_log_file_name}

구문#

설명#

서버가 남긴 감사 로그를 문자 형태로 변환하여 출력한다.

-s 옵션을 사용해서 CSV 형태로 출력할 수도 있다.

사용 예#

아래는 감사 로그를 일반 텍스트 형태로 출력하는 명령어이다.

$ altiAudit $ALTIBASE_HOME/trc/alti-1366989680-0.aud

아래와 같은 형태의 결과가 출력된다.

[2015/03/05 14:59:29]
Session Info 
  User Name        = SYS
  Session ID       = 1                   
  Client IP        = 127.0.0.1
  Client Type      = CLI-64LE
  Client App Info  = isql
  Action           = INSERT
  Auto Commit      = 1                        (0:non-autocommit 1:autocommit)

Query Info 
  Statement ID      = 65540               
  Transaction ID    = 150657              
  Execute result    = 4                       (0:failure 1:rebuild 2:retry 3:queue empty 4:success)
  Fetch result      = 2                       (0:failure 1:success 2:no result set)
  Success count     = 1                   
  Failure count     = 0                   
  Return code       = 0x02000
  Processed row     = 1                   
  Used memory       = 0                       bytes
  XA flag           = 0                       (0:non-XA 1:XA)

Query Elapsed Time 
  Total time        = 0                   
  Soft prepare time = 0                   
  Parse time        = 0                   
  Validation time   = 0                   
  Optimization time = 0                   
  Execution time    = 0                   
  Fetch time        = 0                   

SQL 
--------------------------------------------------------------------------------
insert into t1 values ('aaaa', 1)
-------------------------------------------------------------------------------- 

아래는 감사 로그를 CSV 형태로 출력하는 명령어이다.

$ altiAudit -s $ALTIBASE_HOME/trc/alti-1366989680-0.aud

아래와 같이 CSV 형태의 결과가 출력된다.

1425535169,SYS,1,127.0.0.1,CLI-64LE,isql,INSERT,1,65540,150657,4,2,1,0,1,0,0,0,0,0,0,0,0,0,"insert
into t1 values ('aaaa', 1)"

출력 항목#

출력 항목과 의미는 아래 표와 같다.

필드 이름 타입 설명
Session Info
User Name 문자열 세션에 접속한 사용자 이름
Session ID INTEGER 세션 ID
Client IP 문자열 클라이언트 IP 주소
Client Type 문자열 접속한 클라이언트의 타입
Client App Info 문자열 애플리케이션 정보
Action 문자열 실행된 구문의 종류
Auto Commit INTEGER 0: Non-auto commit mode
1: auto commit mode
Query Info
Statement ID INTEGER Statement ID
Transaction ID INTEGER 트랜잭션 ID
Execute result INTEGER 수행 결과
0: failure
1: rebuild
2: retry
3: query empty
4: success
Fetch result INTEGER Fetch 결과
0: failure
1: success
2: no result set
Success count INTEGER 감사 조건에 부합하는 구문이 성공한 횟수이다.
BY SESSION 조건일 경우, 감사 조건에 부합하는 구문의 수행에 성공한 횟수의 누적 값이다. BY ACCESS 조건일 경우, 감사 조건에 부합하는 구문이 성공적으로 수행된 경우 1이 표시된다.
Failure count INTEGER 감사 조건에 부합하는 구문이 실패한 횟수이다.
BY SESSION 조건일 경우, 감사 조건에 부합하는 구문의 수행에 실패한 횟수의 누적 값이다. BY ACCESS 조건일 경우, 감사 조건에 부합하는 구문의 수행이 실패한 경우 1이 표시된다.
Return code INTEGER 감사 조건에 부합하는 구문이 수행된 결과 코드이다.
BY ACCESS 조건일 경우에만, 수행 결과가 표시된다.
Processed row INTEGER 처리된 레코드의 개수
Used memory INTEGER 사용된 메모리 (향후 확장 예정)
XA flag INTEGER 0: Non-XA
1: XA
Query Elapsed Time
Total time BIGINT 쿼리 수행에 소요된 총 시간
Soft prepare time BIGINT Prepare 수행에 소요된 시간
Parse time BIGINT 파싱 수행에 소요된 시간
Validation time BIGINT 정당성 검사에 소요된 시간
Optimization time BIGINT 최적화 수행에 소요된 시간
Execution time BIGINT 실행에 소요된 시간
Fetch time BIGINT Fetch 수행에 소요된 시간
SQL
문자열 실행된 SQL 구문