파수 FXM

다운로드 0
업데이트 2026. 2. 2.

설치 매뉴얼

JDBC 드라이버 설치

파수 FXM(Fasoo eXception Management)은 백엔드 데이터베이스로 Mysql을 사용합니다.

로그프레소 접속 프로파일 설정

이 문서를 참고해 접속 프로파일을 추가하세요.

파수 FXM 접속 프로파일 설정

다음은 접속 프로파일 설정 중 필수 입력 항목입니다.

  • 이름: 접속 프로파일을 식별할 고유한 이름
  • 식별자: 로그프레소 쿼리 등에서 사용할 접속 프로파일의 고유 식별자
  • 유형: 데이터베이스 선택
  • 데이터베이스 유형: MySQL 선택
  • 호스트: 데이터베이스 IP 주소 입력
  • 포트 번호: 데이터베이스 포트 번호 입력(기본값: 3306)
  • 데이터베이스 이름: 연결할 데이터베이스명 입력
  • 계정: DB 접속 계정
  • 암호: DB 접속 암호
  • 읽기 전용: 선택 (기본값: 선택 안 함)

모든 입력이 완료되면 접속 테스트를 진행한 후 확인을 클릭해 추가합니다.

로그프레소 수집 설정

이 문서를 참고해 수집기를 추가하세요. 기본 설치되는 대시보드 및 데이터셋은 이름이 DRM_FASOO_FXM로 시작하는 테이블을 참조합니다.

파수 FXM 수집기 설정

파수 FXM 수집기 설정

파수 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 결재 수집모델인 경우 string 입력
    • 파수 FXM 결재 이력, 파수 FXM 결재자 수집모델인 경우 integer 입력

다음은 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;