CSV 로그 파서

개요

다음을 사용하여 csv 로그 파서로, CSV 파일은 각 행을 간단한 JSON 객체로 변환하고 키를 값에 매핑하여 파싱됩니다. 이를 위해 각 열에 이름을 지정해야 합니다.

헤더가 없는 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 ,-,"시스템 재시작"

다음 LogSchema 를 사용하여 로그 유형을 정의합니다:

Panther 콘솔에서는 다음을 따라 커스텀 스키마를 수동으로 만드는 방법 지침을 선택하여 CSV parser.

Under a "Parser" header is a form with various fields, including "Has Header," "Delimiter," "Columns," "Empty Values," and more.

다음 CSV Log Parser 섹션(위 스크린샷에 표시된 를 클릭합니다. 스키마에 섹션 아래)에서 다음 필드를 정의합니다:

fields:
- name: timestamp
  type: timestamp
  timeFormats: 
   - rfc3339
  isEventTime: true
  required: true
- 이름: 동작
  type: string
  required: true
- 이름: ip_address
  type: string
  indicators: [ip]
- name: message
  type: string

헤더가 있는 CSV 로그

헤더 행으로 시작하는 CSV 파일을 파싱하려면, 두 가지 옵션이 있습니다:

헤더의 이름을 사용하려면 파서 설정은 다음과 같아야 합니다:

헤더를 무시하고 열에 사용할 이름 집합을 정의하려면 다음을 사용합니다:

마지막 업데이트

도움이 되었나요?