CSV 로그 파서
개요
다음을 사용하여 csv 로그 파서를 사용하면 각 행을 키-값 매핑이 있는 간단한 JSON 객체로 변환하여 CSV 파일을 파싱합니다. 이를 위해 각 열에 이름을 지정해야 합니다.
헤더가 없는 CSV 로그
헤더 행이 없는 CSV 로그를 파싱하려면 Panther는 각 열에 어떤 이름을 할당할지 알아야 합니다.
예를 들어 로그가 year, month, day, time, action, ip_address, message의 7개 열로 된 CSV라고 가정해 보겠습니다. 이 파일의 몇 가지 예시 행은 다음과 같을 수 있습니다:
# 20200901의 접근 로그
2020,09,01,10:35:23, SEND ,192.168.1.3,"PING"
2020,09,01,10:35:25, RECV ,192.168.1.3,"PONG"
2020,09,01,10:35:25, RESTART ,-,"System restarts"다음 LogSchema 를 사용하여 로그 유형을 정의합니다:
Panther 콘솔에서는 다음을 따릅니다 사용자 지정 스키마를 수동으로 생성하는 방법 안내을 선택하고, CSV 파서를 선택합니다.

다음 스키마 작성 섹션(위 스크린샷에 표시된 파서 섹션 아래), 우리는 필드를 정의합니다:
필드:
- 이름: timestamp
type: timestamp
timeFormats:
- rfc3339
isEventTime: true
required: true
- 이름: action
type: string
required: true
- 이름: ip_address
type: string
indicators: [ip]
- name: message
type: string헤더가 있는 CSV 로그
헤더 행으로 시작하는 CSV 파일을 파싱하려면 두 가지 옵션이 있습니다:
헤더에 정의된 이름을 JSON 필드 이름으로 사용
헤더를 무시하고 열 이름을 명시적으로 헤더 없는 CSV 파일에서처럼 동일한 방식으로 정의
CSV 파일에 헤더가 있고 열을 명시적으로 정의하지 않으면(대신 헤더로 정의되도록 허용하는 경우) 이 스키마를 다른 스키마와 동일한 로그 소스(또는 단일 S3 접두사)에서 결합하지 마십시오. 이렇게 하면 로그가 잘못 분류될 수 있습니다.
헤더의 이름을 사용하려면 파서 구성은 다음과 같아야 합니다:
헤더를 무시하고 열에 대한 이름 집합을 정의하려면 다음을 사용하세요:
Last updated
Was this helpful?

