SFTP 서버의 로그 파일을 수집하기
목표: 테스트 SFTP 서버의 JSONL 파일을 읽어 Stream/Route로 전달합니다.SFTP-compatible SCP는 별도 모드이며 일반적인 구형 SCP Directory Polling과 동일하지 않습니다.
화면 버전: 표시된 이미지는 과거 Control UI 테스트 캡처입니다. 현재 제품의 기본 5단계 순서(Connect → Sample & Record Selection → Destinations → Route Processing → Deploy)를 우선하세요. 번호별 화면 가이드에서 차이를 설명합니다.
실행 순서와 완료 기준
- 필수 정보 준비: Vendor 공식 API/연동 가이드에서 Endpoint, 인증 방식, 최소 권한, Pagination/Checkpoint, 응답 샘플을 확인합니다. 테스트용 비식별 이벤트와 실제 Destination 접속 정보를 준비합니다.
- 모르는 항목은 ChatGPT로 정리: 공개 API 문서와 비식별 샘플을 제공하고 Connector 필수 필드, 요청 예시, Event Root, Timestamp/ID, Cursor, 미확인 사항을 표로 요청합니다. Token·비밀번호는 입력하지 않습니다. ChatGPT 답변은 Vendor 문서와 Run Test로 검증합니다.
- Connector 생성: Connectors → Create Connector에서 이 페이지의 해당 Source Type을 선택하고 실제 접속·인증 정보를 입력합니다. 저장하고 연결 테스트를 확인합니다.
- Destination 생성: Destinations → Create에서 실제 수신기 유형(SYSLOG_UDP/TCP/TLS 또는 WEBHOOK_POST)을 선택하고 Host/Port/URL, TLS/인증을 입력합니다.
- Stream 생성: Streams → Create → Connect에서 Connector를 선택하고 Source 요청/수집 조건을 지정합니다.
- 샘플과 스키마: Sample & Record Selection → Run Test에서 실제 레코드가 추출되는지 확인합니다. Record Root, Union Schema, Pagination 및 Checkpoint를 확정합니다.
- 데이터 처리: Destinations에서 Route를 연결하고 Route Processing에서 Mapping, Timestamp, Enrichment, Masking/Drop/Quarantine을 설정합니다. Tokenization은 실제 제품에서 지원되는 경우에만 사용합니다. Route Effective Status와 최종 출력값을 확인합니다.
- 배포와 검증: Deploy의 경고를 해결하고 Stream을 실행합니다. Run ID, Route Logs와 실제 Destination 수신 기록을 비교합니다. 이 세 가지가 일치해야 완료입니다.
- 장애 대응: 연결/인증 오류는 API 권한·TLS·Network·429를, 레코드 0건은 Record Root·Pagination을, 전송 실패는 Delivery Incident를, 필드 변경은 Schema Drift를 확인합니다.
ChatGPT 질문 예시
DataRelay Control에서 이 제품의 로그를 수집하려고 합니다. 아래 공개 API 가이드와 비식별 JSON 샘플을 기준으로 Connector 연결·인증 필수값, API Request/Pagination, Event Root, Timestamp/ID/Checkpoint, Mapping·민감 필드 보호, 장애 시 확인 항목을 표로 작성해 주세요. 문서에 없는 정보는 임의로 생성하지 말고 ‘확인 필요’로 표시하세요.
1. 원격 파일 준비
- 테스트용 SSH 서버에
/srv/control-demo/events.jsonl파일을 만들고 다음 한 줄을 저장합니다.
- 해당 경로에 읽기/목록 권한만 가진 SSH 계정을 만듭니다.
- 일반
sftp클라이언트로 접속과 파일 읽기를 먼저 확인합니다. - 서버 SSH Host Key Fingerprint를 확인해 기록합니다. 연결 테스트 때문에 Host Key 검증을 끄지 않습니다.
2. Remote File Connector 생성
- **Connectors → Create Connector → Remote file polling (SFTP / SFTP-compatible SCP mode)**을 선택합니다.
- Connector Name =
Lab SFTP, Protocol =sftp를 입력합니다. - 실제 Host, Port(보통 22), Username을 입력합니다.
- 허가된 Password 또는 Private key를 설정합니다.
- Known hosts에 검증한 호스트 키를 구성하고 검증 Policy는 strict를 사용합니다.
- 제공되는 원격 디렉터리/파일 선택 항목에서
/srv/control-demo/events.jsonl파일을 대상으로 합니다. - 저장한 뒤 지원되는 Remote Connection/List Test로 파일을 조회합니다.
3. Stream과 전송
/streams/new에서Lab SFTPConnector를 선택하고 Run Test를 실행합니다.sftp-001이벤트 레코드가 추출되는지 Record Selection에서 확인합니다.- 테스트 Destination를 지정한 후 Route Processing과 Deploy를 완료합니다.
- Stream을 실행하고 Logs의 Route 결과와 실제 수신 파일을 비교합니다.


실패 시
- Host Key 오류: 실제 Host Fingerprint와 Known hosts를 수정합니다. 비보안 검증으로 우회하지 않습니다.
- Permission denied: SSH 계정의 디렉터리/파일 읽기 권한 확인
- 레코드 0건: 파일 인코딩/JSONL 형식/Record Root 확인
- 이벤트 중복: 파일 Rotation 및 Checkpoint/읽기 위치 확인