벤더에서 제공하는 로그 명세서와 제한된 로그 샘플만으로 파서를 개발하면 운영 환경에 적용 시 예상치 못한 특수문자 등으로 인해 파싱에 실패하는 사례가 종종 발생합니다. 일정을 준수하려면 한 번에 작업을 끝내는 것이 중요하고, 그러려면 실제 운영 환경에서 발견되는 예외적인 로그를 포함하여 샘플링해야 테스트를 완전하게 수행할 수 있습니다.
signature
쿼리 명령어는 현장에서의 로그 샘플링을 목적으로 제공되는 기능입니다. signature 명령어가 제공하는 특수문자 패턴으로 그룹핑하면 최소량의 샘플로 최대한의 테스트 케이스를 확보할 수 있습니다.
아래는 사용 예입니다:
wget url="https://raw.githubusercontent.com/logpresso/dataset/main/wp-nginx.log"
| eval line = subarray(split(line, "\n"), 0)
| explode line
| signature
| stats first(line) as line by signature
로그 유형에 해당하는 필드가 존재한다면, 해당 로그 유형을 정규식으로 추출한 후 signature와 해당 로그 유형의 그룹으로 추출해야 합니다.
이제 쿼리 결과를 JSON 파일로 다운로드 받아서 지원 포털에 전달해주시면 됩니다.