설치 매뉴얼
JDBC 드라이버 설치
파수 FED-M(Fasoo Enterprise DRM for Mobile)은 백엔드 데이터베이스로 Mysql을 사용합니다.
로그프레소 접속 프로파일 설정
이 문서를 참고해 접속 프로파일을 추가하세요.
다음은 접속 프로파일 설정 중 필수 입력 항목입니다.
- 이름: 접속 프로파일을 식별할 고유한 이름
- 식별자: 로그프레소 쿼리 등에서 사용할 접속 프로파일의 고유 식별자
- 유형:
데이터베이스선택 - 데이터베이스 유형:
MySQL선택 - 호스트: 데이터베이스 IP 주소 입력
- 포트 번호: 데이터베이스 포트 번호 입력(기본값: 3306)
- 데이터베이스 이름: 연결할 데이터베이스명 입력
- 계정: DB 접속 계정
- 암호: DB 접속 암호
- 읽기 전용: 선택 (기본값: 선택 안 함)
모든 입력이 완료되면 접속 테스트를 진행한 후 확인을 클릭해 추가합니다.
로그프레소 수집 설정
이 문서를 참고해 수집기를 추가하세요. 기본 설치되는 대시보드 및 데이터셋은 이름이 DRM_FASOO_FED_M로 시작하는 테이블을 참조합니다.
다음은 수집기 설정 중 필수 입력 항목입니다.
- 이름: 수집기를 식별할 고유한 이름 입력
- 주기: 60초
- 적재 위치/수집 위치: 로그프레소 플랫폼 구성에 따라 적합한 노드 선택
- 수집 모델:
파수 FED-M 모바일 보안선택 - 테이블:
DRM_FASOO_FED_M로 시작하는 테이블 이름 입력 - JDBC 프로파일: 미리 설정해둔 접속 프로파일 식별자 입력
- SQL: 수집할 데이터를 조회/가공하는 SQL 문. 순차적재를 위해 ORDER BY {기준 열} 구문을 필수로 포함해야 함.
- 조건절: WHERE FL_MT_CODE > ?
and FL_MT_CODE < date_format( date_sub( current_timestamp(), INTERVAL 5 MINUTE ), '%Y%m%d%H%i%s') 입력 (테이블 칼럼에 맞게 변경하여 사용)
INTERVAL 5 MINUTE부분을 수정해서 지연 수집 단위를 조정할 수 있습니다. FL_MT_CODE 컬럼이 시각 정보를 초 단위까지 제공하므로 지연 수집 단위를 1초 이상으로 설정하는 것을 권장하며, 각 환경별 특성에 따라 지연 단위를 조정해야 할 수 있습니다.
- 첫번째 기준 열:
id입력 (수집되는 칼럼에 맞게 변경하여 사용) - 첫번째 기준 열 초기 값 타입:
string입력 (수집되는 칼럼에 맞게 변경하여 사용)
다음은 SQL 예제입니다. 운영하는 환경에 맞게 가공하여 사용하세요.
SELECT
FL_MT_CODE AS id,
FUT_LOG_001.FU_MT_CODE AS user_motion_id,
FUT_LOG_001.FC_MT_CODE AS doc_motion_id,
FL_DSD_CODE AS domain_code,
CONCAT_WS(' ',
CASE
WHEN SUBSTR(FL_TYPE,2,1)='N' THEN 'FSN'
WHEN SUBSTR(FL_TYPE,2,1)='D' THEN 'FSD'
WHEN SUBSTR(FL_TYPE,2,1)='P' THEN 'FSP'
WHEN SUBSTR(FL_TYPE,2,1)='E' THEN 'FSE'
WHEN SUBSTR(FL_TYPE,2,1)='C' THEN 'CAP'
WHEN SUBSTR(FL_TYPE,2,1)='M' THEN 'FMG'
ELSE SUBSTR(FL_TYPE,2,1)
END,
CASE
WHEN SUBSTR(FL_TYPE,1,1)='I' THEN '라이선스 발급 내역'
WHEN SUBSTR(FL_TYPE,1,1)='U' THEN '(문서) 사용 내역'
WHEN SUBSTR(FL_TYPE,1,1)='P' THEN '임시라이선스 발급 내역'
WHEN SUBSTR(FL_TYPE,1,1)='O' THEN '임시 라이선스로 사용된 문서 사용 내역'
ELSE SUBSTR(FL_TYPE,1,1)
END) AS category,
CASE
WHEN FL_STATUS='OK' THEN '정상'
WHEN FL_STATUS='REJECT' THEN '거부'
WHEN FL_STATUS='S_VIEW_COUNT_REJECT' THEN '열람 횟수 초과'
WHEN FL_STATUS='S_TERM_REJECT' THEN '유효 기간 초과'
WHEN FL_STATUS='S_PC_COUNT_REJECT' THEN 'PC 대수 초과'
WHEN FL_STATUS='S_ONLINE_OK' THEN '정상(온라인)'
WHEN FL_STATUS='S_OFFLINE_OK' THEN '정상(오프라인)'
WHEN FL_STATUS='S_RECALL_REJECT' THEN '폐기'
WHEN FL_STATUS='S_NOT_FOUND_RECEIVEREMAIL_REJECT' THEN '거부'
ELSE FL_STATUS
END AS status,
FROM_UNIXTIME(FL_DT/1000) AS event_time,
FL_MAC AS host_mac,
FL_IP AS host_ip,
FL_MACHINE AS host_mac_hex,
FUT_LOG_001.FU_CODE AS user,
FU_NAME AS user_name,
FUT_LOG_001.FU_DEPT_CODE AS user_dept_code,
FU_DEPT_NAME AS user_dept_name,
FU_PST_CODE AS user_position_code,
FU_PST_NAME AS user_position_name,
FUT_LOG_001.FC_CODE AS doc_id,
FC_CTG_CODE AS doc_category_code,
FC_CTG_NAME AS doc_category,
FC_NAME AS doc_original_name,
FC_FILE_NAME AS doc_current_name,
FC_WT_CODE AS writer,
FC_WT_NAME AS writer_name,
FC_WT_DP_CODE AS writer_dept_code,
FC_WT_DP_NAME AS writer_dept_name,
FC_OWN_CODE AS owner,
FC_OWN_NAME AS owner_name,
FC_OWN_DP_CODE AS owner_dept_code,
FC_OWN_DP_NAME AS owner_dept_name,
FC_ETC1 AS header_etc1,
FC_ETC2 AS header_etc2,
FC_ETC3 AS header_etc3,
FC_ETC4 AS header_etc4,
FC_ETC5 AS header_etc5,
FC_ETC6 AS header_etc6,
FC_ETC7 AS header_etc7,
FC_ETC8 AS header_etc8,
FC_ETC9 AS header_etc9,
FC_ETC10 AS header_etc10,
FC_TYPE AS doc_type,
FC_HS_CODE AS hASh,
FC_CRT_DT AS created,
FC_PKG_CODE AS content_id,
FC_ETR_DT AS content_time,
FL_P_CRT_NEW AS is_doc_create,
FL_P_VIEW AS is_doc_view,
FL_P_SEC_SAVE AS is_doc_save,
FL_P_PRT_SCR AS is_doc_printscreen,
FL_P_SAVE AS is_doc_decrypt,
FL_P_PRT AS is_doc_print,
FL_P_SEC_PRT AS is_doc_secure_print,
FL_P_MDF_OWNER AS is_doc_modify_owner,
FL_P_MDF_ACL AS is_doc_modify_permission,
FL_P_MDF_SECLVL AS is_doc_change_level,
FL_P_REVOKE AS is_doc_revoke,
CASE
WHEN FL_OFR_TYPE='I' THEN '라이선스 발급'
WHEN FL_OFR_TYPE='U' THEN '사용 내역'
WHEN FL_OFR_TYPE='P' THEN '임시 라이선스 발급'
ELSE FL_OFR_TYPE END AS offer_type,
FL_P_CRT_NEW_BAT AS is_batch_encrypt,
FL_P_SAVE_BAT AS is_batch_decrypt,
FL_P_CRT_NEW_API AS is_packager_encrypt,
FL_P_SAVE_API AS is_packager_decrypt,
FL_OFR_CODE AS offer_id,
FL_OFR_DSD_CODE AS offer_dsd_code,
FL_OFR_DSD_NAME AS offer_dsd_name,
FL_PRT_MACHINE AS printer_name,
FL_PRT_FILE_CNT AS print_file_count,
FL_PRT_CNT AS print_page_count,
FL_PRT_CODE AS print_transaction_id,
FROM_UNIXTIME(FL_ETR_DT/1000) AS register_time,
FL_ETC1 AS etc1,
FL_ETC2 AS etc2,
FL_ETC3 AS etc3,
FL_ETC4 AS etc4,
FL_ETC5 AS etc5,
FL_LCT_LAT AS latitude,
FL_LCT_LNG AS longitude,
FL_PRT_PAGE_CNT AS print_file_page_count,
FL_PRT_COPY_CNT AS print_copy_count,
FL_TXT_SAVING AS text_concentration,
FL_IMG_SAVING AS image_concentration,
FL_G_SAVING AS graph_concentration,
FL_CTOG AS is_color_to_gray,
FL_NUP AS is_N_UP,
FL_PP AS is_pull_printing,
FL_APPNAME AS doc_app,
FL_LIC_START_DT AS license_start_time,
FL_LIC_END_DT AS license_END_time,
FL_PRODUCTNAME AS product_name
FROM FUT_LOG_001
JOIN FUT_USER ON FUT_LOG_001.FU_CODE = FUT_USER.FU_CODE
JOIN FUT_CONTENT ON FUT_LOG_001.FC_CODE = FUT_CONTENT.FC_CODE
$where
order by FL_MT_CODE;

