리소스

/

ACP 실습 노트

[20편] 감사 자료를 준비할 때, 필요한 기록만 골라봤다 — QueryPie Audit Log Export

승인 · 감사 · 운영

2026년 11월 9일

19편에서는 주문 상태를 바꾼 뒤 DML Snapshot으로 변경 전후 값을 확인했다. 이번에는 그 작업 기록을 파일로 꺼내 봤다. 감사나 내부 점검 때 특정 사용자가 어느 DB에서 어떤 작업을 했는지 자료로 전달해야 하는 상황을 생각했다.

 

QueryPie의 Audit Log Export에서 기간과 사용자를 지정하니, 주문을 조회한 기록과 승인받아 변경한 기록을 함께 찾을 수 있었다. 내려받은 파일에는 실행한 SQL뿐 아니라 실행 결과와 해당 승인 요청을 구분하는 식별자(UUID)까지 들어 있었다.

 

 

어떤 항목을 내보낼 수 있는지 먼저 살펴봤다

 

관리자 화면에서 Audit → Reports → Audit Log Export를 열고 Create Task를 눌렀다. 작업 이름은 ‘ACP Lab - 주문 변경 감사 자료 - 2026-11-09’로 적고, Log Type은 Query Audit을 선택했다.

 

See Log Template and Description을 펼치면 파일에 들어갈 항목과 필터에 쓸 이름을 볼 수 있다. 사용자 이름은 name, DB 연결 이름은 connectionName, 작업 종류는 actionType이었다. 화면 안에서 항목을 확인하면서 조건을 작성할 수 있어 편했다.

 

화면 1. Query Audit의 내보내기 항목과 필터에 사용할 이름을 확인했다.
화면 1. Query Audit의 내보내기 항목과 필터에 사용할 이름을 확인했다.

 

 

하루치 기록에서 개발자의 주문 DB 작업만 골랐다

 

기간은 주문을 변경한 2026년 11월 9일로 정했다. 그중 Demo Developer가 Orders Control Lab에서 SQL을 실행한 기록만 필요했다. Filter Expression에는 다음 조건을 입력했다.

 

123
name == 'Demo Developer'&& connectionName == 'Orders Control Lab'&& actionType == 'SQL_EXECUTION'

 

파일 형식은 CSV를 선택했다. 긴 텍스트를 처리하는 옵션은 No Action으로 두었다. 32,000자를 넘는 내용도 잘라내지 않고 보존하는 설정이다.

 

화면 2. 기간·사용자·DB 연결·작업 종류를 지정하고 CSV로 내보내도록 설정했다.
화면 2. 기간·사용자·DB 연결·작업 종류를 지정하고 CSV로 내보내도록 설정했다.

 

필요한 범위를 추출 단계에서 정할 수 있다는 점이 마음에 들었다. 이번처럼 특정 작업을 설명할 자료라면, 관련 기록만 모아 받는 편이 검토하기도 쉽다.

 

 

파일을 만들기 전에 미리보기로 확인했다

 

Generate Preview를 누르자 두 건이 나왔다. 00:05:47에 주문 4003을 조회한 SELECT와, 00:17:13에 주문 상태를 바꾼 UPDATE였다. 두 기록 모두 실행자는 Demo Developer, 연결은 Orders Control Lab, 결과는 SUCCESS였다.

 

화면 3. 미리보기에서 주문 조회와 변경 기록 두 건을 확인했다.
화면 3. 미리보기에서 주문 조회와 변경 기록 두 건을 확인했다.

 

19편에서 직접 진행했던 작업이라 시각과 내용을 바로 알아볼 수 있었다. 자료를 내려받기 전에 조건이 맞는지 확인할 수 있고, 원하는 범위가 잡힌 상태에서 Create를 누르면 된다.

 

 

완료된 작업에서 감사 파일을 내려받았다

 

작업을 생성하니 목록에 이름과 로그 종류, 생성자, 처리 상태가 표시됐다. 상태가 Completed로 바뀐 뒤 Download를 눌렀다.

 

화면 4. 내보내기 작업이 Completed가 되자 Download 버튼으로 파일을 받을 수 있었다.
화면 4. 내보내기 작업이 Completed가 되자 Download 버튼으로 파일을 받을 수 있었다.

 

내려받은 파일은 Audit.zip이었고, 압축을 풀자 작업 이름으로 된 CSV가 들어 있었다. 목록에서도 어떤 자료를 만들었는지 알아볼 수 있고, 파일 이름도 작업 목적에 맞게 남아 있어 정리하기 좋았다.

 

 

CSV에서도 어떤 승인 요청의 작업인지 알 수 있었다

 

CSV를 직접 열어 보니 미리보기에서 확인한 두 기록이 모두 들어 있었다. 사용자, DB 연결, 실행 시각뿐 아니라 SQL 원문과 처리 결과도 확인할 수 있었다.

 

화면 5. 실제로 내려받은 CSV 원본. 주문 상태를 바꾼 UPDATE와 그 전에 실행한 SELECT가 들어 있다.
화면 5. 실제로 내려받은 CSV 원본. 주문 상태를 바꾼 UPDATE와 그 전에 실행한 SELECT가 들어 있다.

 

주문을 변경한 No.293 기록은 2026-11-09 00:17:13에 실행됐고 결과는 SUCCESS였다. 실행 시간은 69ms, 처리한 행은 1개였다. Executed From에는 SQL_REQUEST가, Workflow Request UUID에는 해당 승인 요청의 식별자가 남아 있었다.

 

같은 파일에서 SELECT는 WEB_EDITOR, UPDATE는 SQL_REQUEST로 구분됐다. 누가 어떤 SQL을 실행했는지와 함께, 웹 에디터에서 조회한 작업인지 승인 요청을 통해 실행한 작업인지도 알 수 있었다.

 

 

화면에서 확인한 기록을 그대로 자료로 쓸 수 있었다

 

Query Audit으로 돌아가 No.293의 상세 화면을 열었다. CSV에 적힌 실행자와 시각, 69ms, SQL Request 출처가 화면의 기록과 일치했다. 앞서 확인한 작업을 파일로도 다시 짚어 볼 수 있었다.

 

화면 6. Query Audit 상세 화면과 내려받은 파일의 실행 정보를 대조했다.
화면 6. Query Audit 상세 화면과 내려받은 파일의 실행 정보를 대조했다.

 

직접 해보니 감사 자료를 준비하는 과정이 간단했다. 기간과 사용자를 정하고, 필요한 DB의 작업을 골라 미리본 뒤 파일로 받으면 됐다. SQL과 실행 결과를 따로 옮겨 적을 필요가 없었다.

 

승인받은 주문 변경을 설명할 때 실행자와 대상 DB, SQL, 처리 결과, 승인 요청 식별자를 한 파일에서 확인할 수 있어 좋았다. 필요한 기록이 자료로 모이니, 내부 점검이나 감사 요청을 받았을 때 준비하는 수고도 줄어들겠다.

 

이번 실습은 QueryPie Community 11.6.7에서 가상 주문 DB의 감사 기록으로 진행했다.

 

참고: QueryPie 공식 Audit Log Export 문서