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 구문 |