FileLog 및 WinLog 수집기 모두에 대해 CSV(쉼표로 구분된 값) 구문 분석기를 구성할 수 있습니다.
csv 구문 분석기에 대해 사용할 수 있는 옵션은 fields 및 delimiter입니다.
쉼표로 구분된 값 구문 분석기 옵션
csv 구문 분석기의 구조에 대한 다음 정보를 참고하십시오.
| 옵션 | 설명 |
|---|---|
fields |
필드 이름은 다음과 같이 쉼표로 구분되어야 합니다.
fields = field_name1, field_name2, field_name3, field_name4이 정의는 추출된 필드에 이름 field_name1, field_name2, field_name3 및 field_name4가 순차적으로 할당되는 것으로 가정합니다. CSV 구문 분석기가 일부 필드를 생략해야 하는 경우에는 해당 이름을 목록에서 생략할 수 있습니다. 예를 들면 다음과 같습니다. fields = field_name1, , field_name3, field_name4 이 경우 구문 분석기는 첫 번째, 세 번째 및 네 번째 필드만 이벤트에서 추출하며 여기에 이름 field_name1, field_name3 및 field_name4를 순차적으로 할당합니다. fields 옵션이 로그의 전체 필드 목록을 지정하지 않으면 구문 분석기는 빈 목록을 반환합니다. 예를 들어 로그 파일에 구문 분석기가 빈 필드 목록을 반환하므로 CSV 구문 분석기에 |
delimiter |
예: csv 구문 분석기의 경우 "||" 또는 "asd" 같이 따옴표로 묶은 문자 집합을 구분 기호로 지원합니다. 로그에 사용된 필드 값의 구분 기호는 구분 기호 매개 변수에 정의된 패턴과 정확하게 일치해야 합니다. 구분 기호가 일치하지 않으면 구문 분석기가 실패합니다. 공백 또는 탭 같은 특수 문자도 csv 구문 분석기에 사용할 구분 기호로 정의할 수 있지만, 이 경우에는 해당 특수 문자 앞에 이스케이프 문자가 반드시 있어야 합니다(\", \s, \t). 예를 들어 |
CSV 로그 구문 분석기 구성
winlog 또는 filelog 소스에서 수집된 로그를 구문 분석하려면 다음 구성을 사용합니다.
[filelog|some_csv_logs]
directory=D:\Logs
include=*.txt;*.txt.*
parser=myparser
[parser|myparser]
base_parser = csv
fields = timestamp,field_name1, field_name2, field_name3
delimiter = ";"
field_decoder={"timestamp": "tsp_parser"}
[parser|tsp_parser]
; timestamp is a built-in parser
base_parser=timestamp
; "format" is an option of timestamp parser
format=%Y-%m-%d %H:%M:%S
이 구성을 사용하면 some_csv_logs 소스에서(예: directory=D:\Logs 디렉토리에서) 수집된 로그가 myparser에 의해 구문 분석됩니다. 수집된 로그에 세미콜론으로 구분된 세 개의 값이 포함된 경우, 구문 분석된 이벤트에는 field_name1, field_name2 및 field_name3 이름이 순차적으로 할당됩니다.
다음 CSV 로그를 구문 분석하려면:
"United States","USA","North America","High income: OECD","Fiscal year end: September 30; reporting period for national accounts data: CY."
[parser|csv_log_parser] base_parser=csv fields=country_name, country_code, region, income_group, special_notesCSV 구문 분석기가 다음 필드를 반환합니다.
country_name=United States country_code=USA region=North America income_group=High income: OECD special_notes=Fiscal year end: September 30; reporting period for national accounts data: CY.