비 JSON 및 잘린 EKS 로그 데이터와 함께하는 스키마 파싱 오류 in Panther
Last updated: February 18, 2026
이슈
S3 버킷에서 EKS 로그를 처리하려고 할 때, 비 JSON 데이터와 잘린 JSON 이벤트로 인해 스키마 파싱 오류가 발생합니다. 로그에는 일부 이벤트가 일반 텍스트(비 JSON)이고, 다른 이벤트는 AWS 크기 제한으로 인해 잘려서 파싱 실패를 일으키는 JSON이 포함되어 있습니다.
이러한 오류는 로그 수집을 방해하며 다음과 같은 오류 메시지를 발생시킵니다:
비 JSON 이벤트에 대한 "일치 없음" 오류
일반 텍스트 로그에 대한 "parse failed: readObjectStart: expect { or n, but found I"
잘린 JSON에 대한 "parse failed: readStringSlowPath: unexpected end of input"
해결 방법
이 문제를 해결하려면:
- 원시 이벤트 필터를 만들어 JSON이 아니거나 잘못된 형식의 이벤트를 제외하세요. 필터를 구성하여 `
- {`로 시작하고 `}
`로 끝나는 이벤트만 처리하도록 하세요.
사용자 정의 스키마에 유효하지 않은 문자(예: `/` 및 `.`)가 포함된 필드 이름이 있는 경우, 이름 바꾸기 변환를 사용하여 유효하지 않은 필드 이름을 스키마 정의 내의 유효한 이름으로 매핑하세요.
업스트림 문제로 인해 로그 잘림이 발생하는 경우 인프라 팀과 협력하여 해결하는 것이 장기적으로 가장 최적의 방법입니다.
원인
이 문제는 EKS 로그에 혼합된 데이터 형식이 포함되어 있거나 JSON 로그가 AWS의 최대 로그 항목 크기 제한을 초과할 때 발생합니다. AWS는 크기 제한을 초과하는 로그 항목을 잘라내어 Panther의 스키마가 파싱할 수 없는 잘못된 JSON이 생성됩니다. 또한 일부 EKS 로그에는 예상 JSON 형식과 일치하지 않는 일반 텍스트 항목이 포함될 수 있습니다.
Panther는 현재 잘린 JSON의 부분 파싱이나 하나의 로그 소스 내에서 혼합된 데이터 형식을 자동으로 처리하는 것을 지원하지 않으므로, 문제를 일으키는 이벤트를 필터링하는 것이 수집 오류를 방지하는 권장 방법입니다.
- {`로 시작하고 `}