File source
출처: 문서
본문
파일 소스
file 플러그인은 파이프라인이 시작될 때 로컬 파일에서 이벤트를 한 번 읽어 들여요. 시드 데이터를 로드하거나, 프로세서와 싱크를 테스트하거나, 고정된 데이터셋을 재생할 때 유용해요. 이 소스는 시작 이후에는 파일에 새로 추가되는 줄을 모니터링하지 않아요.
| 옵션 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
path |
예 | String | Data Prepper 컨테이너 안에 있는 입력 파일의 절대 경로예요. 예를 들어 /usr/share/data-prepper/data/input.jsonl이 있어요. |
format |
아니요 | String | 파일 내용을 어떻게 해석할지 지정해요. 유효한 값은 json과 plain이에요. 파일이 줄마다 JSON 객체 하나씩 담고 있거나 JSON 배열이라면 json을 사용하세요. 일반 텍스트 줄이라면 plain을 사용하세요. 기본값은 plain이에요. |
record_type |
아니요 | String | 이 소스가 만들어내는 출력 레코드의 타입이에요. 유효한 값은 event와 string이에요. 다운스트림 프로세서와 OpenSearch 싱크가 기대하는 구조화된 이벤트를 만들려면 event를 사용하세요. 기본값은 string이에요. |
예제
다음 예제들은 서로 다른 파일 타입을 어떻게 처리할 수 있는지 보여줘요.
JSON 파일
다음 예제는 JSON 파일을 처리해요:
file-to-opensearch:
source:
file:
path: /usr/share/data-prepper/data/input.ndjson
format: json
record_type: event
sink:
- opensearch:
hosts: ["https://opensearch:9200"]
index: file-demo
username: admin
password: admin_pass
insecure: true
{% include copy.html %}
일반 텍스트 파일
다음 파이프라인을 사용하면 일반 텍스트 파일을 처리할 수 있어요:
plain-file-to-opensearch:
source:
file:
path: /usr/share/data-prepper/data/app.log
format: plain
record_type: event
processor:
- grok:
match:
message:
- '%{TIMESTAMP_ISO8601:timestamp} \[%{LOGLEVEL:level}\] %{GREEDYDATA:msg}'
sink:
- opensearch:
hosts: ["https://opensearch:9200"]
index: plain-file-demo
username: admin
password: admin_pass
insecure: true
{% include copy.html %}
CSV 파일
csv 프로세서를 사용하면 CSV 파일을 처리할 수 있어요:
csv-file-to-opensearch:
source:
file:
path: /usr/share/data-prepper/data/ingest.csv
format: plain
record_type: event
processor:
- csv:
column_names: ["time","level","message"]
sink:
- opensearch:
hosts: ["https://opensearch:9200"]
index: csv-demo
username: admin
password: admin_pass
insecure: true
{% include copy.html %}