파수 FSP

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

설치 매뉴얼

JDBC 드라이버 설치

파수 FSP(Fasoo Smart Print)는 백엔드 데이터베이스로 PostgreSQL을 사용합니다. 먼저 PostgreSQL 앱을 설치하세요. PostgreSQL 앱을 설치한 이후 별도로 수행할 작업은 없습니다.

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

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

파수 FSP 접속 프로파일 설정

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

  • 이름: 접속 프로파일을 식별할 고유한 이름
  • 식별자: 로그프레소 쿼리 등에서 사용할 접속 프로파일의 고유 식별자
  • 유형: 데이터베이스 선택
  • 데이터베이스 유형: 사용자 정의 선택
  • 접속 문자열: JDBC 문자열 템플릿 중에서 jdbc:postgresql://HOSTNAME:5432/DBNAME 클릭 후 운영하는 환경에 맞게 HOSTNAME, 포트, DBNAME을 변경해서 사용
  • 계정: DB 접속 계정
  • 암호: DB 접속 암호
  • 읽기 전용: 선택 (기본값: 선택 안 함)

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

로그프레소 수집 설정

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

파수 FSP 수집기 설정

다음은 수집기 설정 중 필수 입력 항목입니다.

  • 이름: 수집기를 식별할 고유한 이름 입력
  • 주기: 60초
  • 적재 위치/수집 위치: 로그프레소 플랫폼 구성에 따라 적합한 노드 선택
  • 수집 모델: 파수 FSP 출력물 보안 선택
  • 테이블: DLP_FASOO_FSP로 시작하는 테이블 이름 입력
  • JDBC 프로파일: 미리 설정해둔 접속 프로파일 식별자 입력
  • SQL: 수집할 데이터를 조회/가공하는 SQL 문. 순차적재를 위해 ORDER BY {기준 열} 구문을 필수로 포함해야 함.
  • 조건절: WHERE log_id > ? 입력 (테이블 칼럼에 맞게 변경하여 사용)
  • 첫번째 기준 열: log_id 입력 (수집되는 칼럼에 맞게 변경하여 사용)
  • 첫번째 기준 열 초기 값 타입: string 입력 (수집되는 칼럼에 맞게 변경하여 사용)

다음은 SQL 예제입니다. 운영하는 환경에 맞게 가공하여 사용하세요.

SELECT
  dl.print_date as print_time,
  dl.log_id,
  dl.trans_id as client_log_uuid,
  CASE
      WHEN dl.event_result = 1 THEN '성공'
      WHEN dl.event_result = 2 THEN '실패'
      ELSE dl.event_result::TEXT
  END AS result,
  CASE
	    WHEN dl.print_result = 0 THEN '실패'
	    WHEN dl.print_result = 1 THEN '성공'
	    ELSE dl.print_result::TEXT
	END AS print_result,
  CASE
	    WHEN dl.detection_result = 0 THEN '실패'
	    WHEN dl.detection_result = 1 THEN '성공'
	    ELSE dl.detection_result::TEXT
	END AS detect_result,
  CASE
      WHEN dl.log_type = 1 THEN '(FSP4) 인쇄 로그'
      WHEN dl.log_type = 2 THEN '(FSP4) 검출 로그'
      ELSE dl.log_type::TEXT
  END AS log_type,
  CASE
      WHEN dl.purpose = 6 THEN 'PRINT(인쇄)'
      WHEN dl.purpose = 13 THEN 'SECURE_PRINT(워터마크 인쇄)'
      ELSE dl.purpose::TEXT
  END AS purpose,
  CASE
      WHEN dl.purpose_fail_reason = 0 THEN '정상'
      WHEN dl.purpose_fail_reason = 2 THEN '오프라인'
      ELSE purpose_fail_reason::TEXT
  END AS purpose_fail_reason,
  dl.user_code as user,
  dl.user_name,
  dl.user_dept_code as dept_code,
  dl.user_dept_name as dept_name,
  dl.user_position_name as user_job_title,
  dl.user_role_name as user_role,
  dl.sso_status,
  dl.device_id,
  dl.ip as client_ip,
  dl.mac_address as client_mac,
  CASE
      WHEN dl.client_os = 1 THEN 'Windows'
      WHEN dl.client_os = 2 THEN 'MAC'
      ELSE dl.client_os::TEXT
  END AS client_os,
  dl.client_os_version as client_os_ver,
  dl.location_type as location,
  dl.doc_name,
  dl.trace_id,
  dl.url,
  dl.printer_ip,
  dl.printer_name,
  dl.printer_driver_name as printer_driver,
  dl.printer_color_type as print_color,
  dl.total_print_page_count,
  dl.print_page_count,
  dl.print_copy_count,
  dl.print_reason,
  dl.detected_print_reason,
  dl.image_log_count,
  CASE
      WHEN dl.pull_print_yn = 0 THEN NULL
      WHEN dl.pull_print_yn = 1 THEN TRUE
      WHEN dl.pull_print_yn = 2 THEN FALSE
      ELSE NULL
  END AS use_pull_print,
  CASE
      WHEN dl.print_watermark_yn = 0 THEN NULL
      WHEN dl.print_watermark_yn = 1 THEN TRUE
      WHEN dl.print_watermark_yn = 2 THEN FALSE
      ELSE NULL
  END AS is_watermark_printed,
  CASE
      WHEN dl.masking_yn = 0 THEN NULL
      WHEN dl.masking_yn = 1 THEN TRUE
      WHEN dl.masking_yn = 2 THEN FALSE
      ELSE NULL
  END AS is_masked,
  CASE
      WHEN dl.pattern_yn = 0 THEN NULL
      WHEN dl.pattern_yn = 1 THEN TRUE
      WHEN dl.pattern_yn = 2 THEN FALSE
      ELSE NULL
  END AS is_pattern_detected,
  CASE
      WHEN dl.approval_yn = 0 THEN NULL
      WHEN dl.approval_yn = 1 THEN TRUE
      WHEN dl.approval_yn = 2 THEN FALSE
      ELSE NULL
  END AS is_print_approved,
  CASE
      WHEN dl.approval_type = 1 THEN '승인'
      ELSE dl.approval_type::TEXT
  END AS approval_type,
  CASE
      WHEN dl.print_log_show = 0 THEN NULL
      WHEN dl.print_log_show = 1 THEN TRUE
      WHEN dl.print_log_show = 2 THEN FALSE
      ELSE NULL
  END AS is_print_log_visible,
  CASE
      WHEN dl.print_log_text_file_show = 0 THEN NULL
      WHEN dl.print_log_text_file_show = 1 THEN TRUE
      WHEN dl.print_log_text_file_show = 2 THEN FALSE
      ELSE NULL
  END AS is_print_text_file_visible,
  CASE
      WHEN dl.print_log_image_file_show = 0 THEN NULL
      WHEN dl.print_log_image_file_show = 1 THEN TRUE
      WHEN dl.print_log_image_file_show = 2 THEN FALSE
      ELSE NULL
  END AS is_print_image_file_visible,
  CASE
      WHEN dl.detection_log_show = 0 THEN NULL
      WHEN dl.detection_log_show = 1 THEN TRUE
      WHEN dl.detection_log_show = 2 THEN FALSE
      ELSE NULL
  END AS is_detect_log_visible,
  CASE
      WHEN dl.detection_log_text_file_show = 0 THEN NULL
      WHEN dl.detection_log_text_file_show = 1 THEN TRUE
      WHEN dl.detection_log_text_file_show = 2 THEN FALSE
      ELSE NULL
  END AS is_detect_text_file_visible,
  CASE
      WHEN dl.detection_log_image_file_show = 0 THEN NULL
      WHEN dl.detection_log_image_file_show = 1 THEN TRUE
      WHEN dl.detection_log_image_file_show = 2 THEN FALSE
      ELSE NULL
  END AS is_detect_image_file_visible,
  CASE
      WHEN fl.file_type = 2 AND COUNT(fl.trans_id) >= fl.file_count THEN '상태의미파악필요-1'
      ELSE '상태의미파악필요-2'
  END AS print_image_upload_status,
  dl.application_name as process,
  dl.pid,
  dl.domain_code,
  CASE
      WHEN product = 0 THEN '해당 사항 없음'
      WHEN product = 1 THEN 'FED-N'
      ELSE product::TEXT
  END AS product
FROM (SELECT
        print_date,
        log_id,
        trans_id,
        event_result,
        print_result,
        detection_result,
        log_type,
        purpose,
        purpose_fail_reason,
        user_code,
        user_name,
        user_dept_code,
        user_dept_name,
        user_position_name,
        user_role_name,
        sso_status,
        device_id,
        ip,
        mac_address,
        client_os,
        client_os_version,
        location_type,
        doc_name,
        trace_id,
        url,
        printer_ip,
        printer_name,
        printer_driver_name,
        printer_color_type,
        total_print_page_count,
        print_page_count,
        print_copy_count,
        print_reason,
        detected_print_reason,
        image_log_count,
        pull_print_yn,
        print_watermark_yn,
        masking_yn,
        pattern_yn,
        approval_yn,
        approval_type,
        print_log_show,
        print_log_text_file_show,
        print_log_image_file_show,
        detection_log_show,
        detection_log_text_file_show,
        detection_log_image_file_show,
        application_name,
        pid,
        domain_code,
        product
      FROM document_log
      $where
      ) as dl
LEFT OUTER JOIN file_log fl
ON fl.trans_id = dl.trans_id
AND fl.log_type = 1
AND fl.file_type = 2
GROUP BY dl.log_id, dl.trans_id, dl.event_result, dl.print_result, dl.detection_result, dl.log_type, dl.purpose, dl.purpose_fail_reason, dl.user_code, dl.user_name, dl.user_dept_code, dl.user_dept_name, dl.user_position_name, dl.user_role_name, dl.sso_status, dl.device_id, dl.ip, dl.mac_address, dl.client_os, dl.client_os_version, dl.location_type, dl.doc_name, dl.trace_id, dl.url, dl.printer_ip, dl.printer_name, dl.printer_driver_name, dl.printer_color_type, dl.total_print_page_count, dl.print_page_count, dl.print_copy_count, dl.print_reason, dl.detected_print_reason, dl.image_log_count, dl.pull_print_yn, dl.print_watermark_yn, dl.masking_yn, dl.pattern_yn, dl.approval_yn, dl.approval_type, dl.print_log_show, dl.print_log_text_file_show, dl.print_log_image_file_show, dl.detection_log_show, dl.detection_log_text_file_show, dl.detection_log_image_file_show, dl.application_name, dl.pid, dl.domain_code, dl.product, dl.print_date, fl.file_count, fl.file_type
ORDER BY log_id;