설치 매뉴얼
JDBC 드라이버 설치
파수 FXM(Fasoo eXception Management)은 백엔드 데이터베이스로 Mysql을 사용합니다.
로그프레소 접속 프로파일 설정
이 문서를 참고해 접속 프로파일을 추가하세요.
다음은 접속 프로파일 설정 중 필수 입력 항목입니다.
- 이름: 접속 프로파일을 식별할 고유한 이름
- 식별자: 로그프레소 쿼리 등에서 사용할 접속 프로파일의 고유 식별자
- 유형:
데이터베이스선택 - 데이터베이스 유형:
MySQL선택 - 호스트: 데이터베이스 IP 주소 입력
- 포트 번호: 데이터베이스 포트 번호 입력(기본값: 3306)
- 데이터베이스 이름: 연결할 데이터베이스명 입력
- 계정: DB 접속 계정
- 암호: DB 접속 암호
- 읽기 전용: 선택 (기본값: 선택 안 함)
모든 입력이 완료되면 접속 테스트를 진행한 후 확인을 클릭해 추가합니다.
로그프레소 수집 설정
이 문서를 참고해 수집기를 추가하세요. 기본 설치되는 대시보드 및 데이터셋은 이름이 DRM_FASOO_FXM로 시작하는 테이블을 참조합니다.
다음은 수집기 설정 중 필수 입력 항목입니다.
- 이름: 수집기를 식별할 고유한 이름 입력
- 주기: 60초
- 적재 위치/수집 위치: 로그프레소 플랫폼 구성에 따라 적합한 노드 선택
- 수집 모델:
파수 FXM 결재,파수 FXM 결재 이력,파수 FXM 결재자중 선택 - 테이블:
DRM_FASOO_FXM로 시작하는 테이블 이름 입력 - JDBC 프로파일: 미리 설정해둔 접속 프로파일 식별자 입력
- SQL: 수집할 데이터를 조회/가공하는 SQL 문. 순차적재를 위해 ORDER BY {기준 열} 구문을 필수로 포함해야 함.
- 조건절: 선택한 수집모델에 따라 입력 (테이블 칼럼에 맞게 변경하여 사용)
- 파수 FXM 결재 수집모델인 경우 WHERE approval_no > ? and approval_no < date_format( date_sub( current_timestamp(), INTERVAL 5 MINUTE ), '%Y%m%d%H%i%s')
INTERVAL 5 MINUTE부분을 수정해서 지연 수집 단위를 조정할 수 있습니다. FL_MT_CODE 컬럼이 시각 정보를 초 단위까지 제공하므로 지연 수집 단위를 1초 이상으로 설정하는 것을 권장하며, 각 환경별 특성에 따라 지연 단위를 조정해야 할 수 있습니다.- 파수 FXM 결재 이력, 파수 FXM 결재자 수집모델인 경우 WHERE updated_ts > ?
- fxm_approval_approver테이블의 updated_ts 컬럼에 인덱스가 없다면 인덱스를 생성하거나 수집 기준열로 사용할 필드를 따로 지정해야합니다. ROWNUM이나 AUTO INCREMENT 컬럼 등 unique하고 순차적으로 증가하는 값이 있는 필드가 필요합니다.
- 첫번째 기준 열: 선택한 수집모델에 따라 입력 (수집되는 칼럼에 맞게 변경하여 사용)
- 파수 FXM 결재 수집모델인 경우
approval_id입력 - 파수 FXM 결재 이력, 파수 FXM 결재자 수집모델인 경우
updated_ts입력
- 파수 FXM 결재 수집모델인 경우
- 첫번째 기준 열 초기 값 타입: 선택한 수집모델에 따라 입력 (수집되는 칼럼에 맞게 변경하여 사용)
- 파수 FXM 결재 수집모델인 경우
string입력 - 파수 FXM 결재 이력, 파수 FXM 결재자 수집모델인 경우
integer입력
- 파수 FXM 결재 수집모델인 경우
다음은 SQL 예제입니다. 운영하는 환경에 맞게 가공하여 사용하세요.
파수 FXM 결재
SELECT
approval_no AS approval_id,
CASE
WHEN approval_type='TAKEOUT' THEN 'PC반출'
WHEN approval_type='DECRYPT' THEN '암호화 해제'
WHEN approval_type='PRINTOUT' THEN '인쇄 예외'
WHEN approval_type='PROVISIONAL' THEN '임시 권한'
WHEN approval_type='PRINTPOLICY' THEN '기간 내 예외'
WHEN approval_type='PRINTFILE' THEN '지정 문서 예외'
WHEN approval_type='PRINTCLIENT' THEN '인쇄 시 결재'
WHEN approval_type='ENCMAIL' THEN '암호화 해제 시 메일 전송'
ELSE approval_type END AS category,
CASE
WHEN approval_method='PRE' THEN '사전 결재'
WHEN approval_method='POST' THEN '사후 결재'
WHEN approval_method='SELF' THEN '자가 결재'
WHEN approval_method='PROXY' THEN '대리 승인'
WHEN approval_method='URGENCY' THEN '관리자 긴급 승인'
ELSE approval_method END AS method,
apply_user_id AS user,
apply_user_name AS user_name,
apply_dept_code AS user_dept_code,
apply_dept_name AS user_dept_name,
apply_position_code AS user_position_code,
apply_position_name AS user_position_name,
apply_remark AS description,
from_unixtime(apply_date/1000) AS event_time,
approval_step AS total_step,
current_step AS current_step,
CASE
WHEN status='APPLY' THEN '신청'
WHEN status='PROGRESS' THEN '승인 중'
WHEN status='CANCEL' THEN '취소'
WHEN status='REJECT' THEN '반려'
WHEN status='APPROVAL' THEN '승인 완료'
WHEN status='EXPIRED' THEN '만료'
WHEN status='DISMISSAL' THEN '기각'
ELSE status END AS status,
apply_step_approval AS approval,
user_ip AS host_ip,
code AS policy_code
FROM fxm_approval
$where
ORDER BY approval_no;
파수 FXM 결재 이력
SELECT
action_log_no AS action_log_id,
approval_no AS approval_id,
approval_type,
step AS current_step,
user_id AS user,
user_name,
dept_code AS user_dept_code,
dept_name AS user_dept_name,
position_code AS user_position_code,
position_name AS user_position_name,
CASE
WHEN approval_method='PRE' THEN '사전 결재'
WHEN approval_method='POST' THEN '사후 결재'
WHEN approval_method='SELF' THEN '자가 결재'
WHEN approval_method='PROXY' THEN '대리 승인'
WHEN approval_method='URGENCY' THEN '관리자 긴급 승인'
ELSE approval_method END AS method,
CASE
WHEN approval_status='REJECT' THEN '반려'
WHEN approval_status='APPROVAL' THEN '승인 완료'
WHEN approval_status='EXPIRED' THEN '만료'
WHEN approval_status='DISMISSAL' THEN '기각'
ELSE approval_status END AS status,
approval_remark AS description,
from_unixtime(updated_ts/1000) AS updated,
updated_ts,
user_ip AS host_ip,
other_user_id AS proxy_user_id,
other_user_name AS proxy_user_name,
other_position_code AS proxy_position_code,
other_position_name AS proxy_position_name,
other_dept_code AS proxy_dept_code,
other_dept_name AS proxy_dept_name,
other_role_code AS proxy_role_code,
other_role_name AS proxy_role_name
FROM fxm_approval_action_log
$where
ORDER BY updated_ts;
파수 FXM 결재자
SELECT
approval_no AS approval_id,
step AS current_step,
approval_type AS type,
user_id AS user,
user_name,
dept_code AS user_dept_code,
dept_name AS user_dept_name,
position_code AS user_position_code,
position_name AS user_position_name,
from_unixtime(updated_ts/1000) AS updated,
updated_ts
FROM fxm_approval_approver
$where
ORDER BY updated_ts;



