Privacy-i

다운로드 0
업데이트 2026. 8. 28.

설치 매뉴얼

개요

소만사 Privacy-i가 내보낸 JSON 로그 파일을 소나로 수집합니다. 로그 파일이 쌓이는 호스트에 소나가 SFTP로 접속해 파일을 읽어오며, Privacy-i가 로그를 적재하는 엘라스틱서치 인덱스에서 직접 가져오는 방식도 지원합니다.

앱이 제공하는 전용 파서가 로그 종류를 판별해 코드값을 한국어 표기로 정규화하고 필드 이름을 스키마에 맞게 바꿉니다. 파서가 다루는 로그 종류와 정규화 스키마는 아래와 같습니다.

필드 접두사로그 종류로그 스키마
action_개인정보 파일 조치 결과privacy-i-action
dlog_Discover 개인정보 검사 결과privacy-i-discover-log
dfile_Discover 개인정보 검출 파일privacy-i-discover-file
elog_엔드포인트 정책 위반 사고privacy-i-endpoint-log
efile_엔드포인트 사고 파일 상세privacy-i-endpoint-file
eevt_엔드포인트 사용자 행위 이벤트privacy-i-endpoint-event

적용 범위

Note
소나 4.0.2312.0 이상에서 동작합니다.

요구 사항

항목요구사항비고
파일 접근 권한로그 파일 디렉터리와 하위 디렉터리에 대한 읽기 권한원격 수집 시 SFTP 접속 계정, 로컬 수집 시 소나 수집 노드 계정
소나 권한시스템 관리 권한수집 > 수집기, 시스템 > 접속 프로파일 메뉴 접근
네트워크 허용TCP/22 (소나 수집 노드 → 로그 파일 호스트)로그 파일 호스트에서 Inbound 허용, 소나 수집 노드에서 Outbound 허용. SSH 포트를 변경한 경우 해당 포트
엘라스틱서치 앱 (대안 방식)엘라스틱서치 인덱스에서 직접 수집할 때만 필요엘라스틱서치 인덱스에서 직접 수집 참고

로그프레소 수집 설정

로그 파일이 쌓이는 디렉터리 경로와 파일 이름 규칙은 Privacy-i 담당자를 통해 확인합니다. 경로는 로그 전송 설정에 따라 달라지며, 아래 단계의 디렉터리 경로와 파일이름 패턴 입력에 사용합니다.

단계 1: 접속 프로파일 추가

SFTP 수집기는 SSH 유형의 접속 프로파일로 로그 파일 호스트에 접속합니다. 시스템 > 접속 프로파일에서 추가를 클릭하고 아래 값을 입력합니다.

구분항목설정
필수이름접속 프로파일을 식별할 고유한 이름
필수식별자로그프레소 쿼리 등에서 사용할 접속 프로파일의 고유 식별자
필수유형SSH 선택
필수호스트로그 파일 호스트 IP 또는 호스트명. 예: 192.0.2.1
필수포트SSH 포트. 기본값 22
필수계정로그 파일 읽기 권한이 있는 SSH 계정. 예: test_user
필수인증 유형인증 키 또는 암호 선택. 기본값은 인증 키
선택암호인증 유형이 암호인 경우 입력
필수타임아웃초 단위 접속 제한 시간. 기본값 30
선택접속 유지 시간Keep-Alive 간격. 밀리초 단위이며 미지정 시 60000
Note
SSH 유형의 접속 프로파일은 대상 호스트 단위로 등록해 여러 수집기가 함께 사용합니다. 같은 호스트로 접속하는 프로파일이 이미 등록되어 있으면 이 단계를 생략하고 단계 2에서 설정된 프로파일을 선택하면 됩니다.

인증 유형을 인증 키로 지정하는 경우, 인증 유형 옆의 공개키 설정 방법 버튼에서 소나의 SSH 공개키를 확인해 로그 파일 호스트의 해당 계정 authorized_keys 파일에 등록해야 합니다. 등록 전에는 접속 테스트가 실패합니다.

입력을 마친 뒤 접속 테스트를 실행해 결과가 성공인지 확인합니다.

단계 2: 수집기 추가

수집 > 수집기에서 추가를 클릭하고 아래 값을 입력합니다. 수집 모델 아래의 설정 항목은 수집 모델의 유형에 따라 달라집니다.

소나 수집기 추가 화면의 기본 설정 영역

구분항목설정
필수이름수집기를 식별할 고유한 이름
필수수집 모델Privacy-i 선택
필수적재 위치/수집 위치로그프레소 플랫폼 구성에 따라 적합한 노드 선택
필수SSH 프로파일단계 1에서 등록한 접속 프로파일 선택
필수디렉터리 경로로그 파일이 들어 있는 디렉터리를 절대 경로로 입력
필수파일이름 패턴수집 대상 파일 이름에 일치하는 정규식 입력
선택문자 집합미지정 시 utf-8
선택파일이름 태그수집한 파일 이름을 남길 필드 이름
선택경로 날짜 추출 포맷파일 경로에서 날짜를 추출할 포맷. 모니터링 대상 일수와 함께 사용
선택모니터링 대상 일수추출한 날짜가 지정 일수 이내인 파일만 수집
필수테이블PRIVACY_I로 시작하는 테이블 이름 입력. 예: PRIVACY_I

수집 모델 유형에 따라 표시되는 수집기 옵션 영역

Note
파일이름 패턴은 경로가 아닌 파일 이름에만 적용됩니다.
  • 이 수집 모델은 디렉터리 경로 바로 아래의 파일만 수집하며 하위 디렉터리로 내려가지 않습니다. 디렉터리 경로에 상위 경로나 와일드카드를 넣어도 하위 디렉터리의 파일은 수집되지 않습니다. 파일이 하위 디렉터리로 나뉘어 쌓이는 환경이라면 아래 '로그 파일 보관 구조가 다른 경우' 항목을 참고하세요.

로그 파일 보관 구조가 다른 경우

앱이 제공하는 수집 모델은 SFTP 디렉터리 와처 유형 하나입니다. 아래처럼 보관 구조가 다르면 수집 > 수집 모델에서 해당 유형의 수집 모델을 직접 추가하고, 파서로 Privacy-i를 지정한 뒤 그 모델로 수집기를 만듭니다. 수집기의 설정 항목은 선택한 유형에 따라 달라집니다.

로그 파일 보관 구조수집 모델 유형비고
한 디렉터리에 모여 있고 원격 호스트에 있음SFTP 디렉터리 와처앱이 제공. 단계 2 그대로 진행
날짜 등 하위 디렉터리로 나뉘어 있음SFTP 일자별 디렉터리디렉터리 경로에 하위 디렉터리의 상위 경로를 지정. 모니터링 기간과 과거 로그 수집 일자 항목이 추가됨
소나 수집 노드의 로컬 파일시스템에 있음리커시브 디렉터리 와처단계 1의 접속 프로파일이 필요 없음. 하위 디렉터리 포함을 true로 지정
Caution
리커시브 디렉터리 와처의 하위 디렉터리 포함은 기본값이 false입니다. 지정하지 않으면 디렉터리 경로 바로 아래 파일만 수집하므로 하위 디렉터리 안의 로그가 하나도 수집되지 않습니다.

엘라스틱서치 인덱스에서 직접 수집

Privacy-i가 로그를 엘라스틱서치에 적재하는 환경에서는 파일을 거치지 않고 인덱스에서 문서를 직접 가져올 수 있습니다. 이 방식은 엘라스틱서치 앱을 함께 설치해야 합니다.

Note
엘라스틱서치 앱은 로그프레소 스토어에서 별도로 설치합니다. 앱을 설치하지 않으면 접속 프로파일 유형과 수집 모델 목록에 엘라스틱서치가 표시되지 않습니다.

엘라스틱서치 앱을 설치한 뒤 아래 순서로 등록합니다. 각 설정 항목은 엘라스틱서치 앱의 매뉴얼을 참고하세요.

  1. 시스템 > 접속 프로파일에서 Elasticsearch 유형의 접속 프로파일을 추가해 엔드포인트와 인증 정보를 입력합니다.
  2. 수집 > 수집 모델에서 유형을 엘라스틱서치, 파서를 Privacy-i로 지정한 수집 모델을 추가합니다.
  3. 수집 > 수집기에서 위 수집 모델과 접속 프로파일을 선택하고, 수집 대상 인덱스 이름과 정렬 기준을 입력합니다. 테이블은 PRIVACY_I로 시작하는 이름을 사용합니다.

이 방식에서는 파서가 문서의 _type 값으로 로그 종류를 판별해 doc_type 필드에 담습니다.

Caution
정렬 기준을 잘못 지정하면 페이지 이동이 어긋나 로그가 누락되거나 중복 수집됩니다. 인덱스를 여러 개 지정하면 인덱스별로 수집 위치를 따로 기억하므로, 모든 인덱스에 공통으로 존재하는 필드를 정렬 기준으로 지정하세요.

설치 후 검증

아래 쿼리로 수집이 실제로 동작하는지 최종 확인합니다.

table duration=10m PRIVACY_I*
| stats count
  • 정상: 10분 내 수집된 레코드 수가 1 이상.
  • 비정상: 0이면 SFTP 계정의 파일 읽기 권한, 디렉터리 경로, 파일이름 패턴, 그리고 접속 프로파일의 접속 테스트 결과를 재확인합니다. 파일이 하위 디렉터리에 쌓이고 있지는 않은지도 함께 확인합니다.

로그 종류가 제대로 판별되는지는 아래 쿼리로 확인합니다. 파일 수집은 action·dlog·dfile·elog·efile·eevt, 엘라스틱서치 수집은 pi_ 로 시작하는 값이 나오면 정규화가 적용된 상태입니다.

table duration=10m PRIVACY_I*
| stats count by doc_type
Note
doc_type 값이 없고 line 필드에 원본 JSON이 그대로 남아 있으면 파서가 로그를 정규화하지 못한 경우입니다. 줄이 중간에서 잘려 JSON이 닫히지 않았거나, 알려진 필드가 하나도 없어 종류를 판별할 수 없는 경우에 발생합니다. 내보낸 파일의 해당 줄을 열어 JSON이 온전한지 확인하세요.

참고 자료