
로그에서 인사이트를 찾기 위해 시간을 들인 경험이 있다면, 문제의 형태를 알 것입니다. 단일 로그 라인에는 IP 주소, 상태 코드, 응답 시간 및 사용자 ID가 포함될 수 있지만, 모두 하나의 긴 비정형 문자열에 묻혀 있습니다. 정보가 거기 있다는 것을 알고 있습니다. 이를 필터링, 그룹화 또는 차트로 표시할 수 있는 필드로 변환하는 것은 다른 문제입니다.
이는 로그 분석에서 가장 일반적인 병목 현상 중 하나이며, 이것이 발생하는 실제 메커니즘과 단일 사고를 해결하든 영구적인 파이프라인을 구축하든 이를 해결하기 위한 옵션이 무엇인지 이해할 가치가 있습니다.
로그가 처음부터 비정형인 이유
대부분의 애플리케이션은 개발자가 그 순간에 편리하다고 생각하는 방식으로 로그를 작성하며, 6개월 후 분석가가 쿼리하고 싶어 하는 방식이 아닙니다. 단일 로그 라인은 종종 자유 텍스트, 타임스탬프, 키-값 쌍 및 일관된 구분 기호가 없는 중첩된 식별자를 혼합합니다. 이를 각각 고유한 로깅 라이브러리와 형식을 가진 수십 개의 서비스에 걸쳐 곱하면, 기술적으로는 필요한 모든 것을 포함하지만 실제로는 숨기는 원본 텍스트의 폭주가 됩니다.
정형 필드는 각 정보에 이름을 부여하여 이 문제를 해결합니다. 텍스트 벽 내에서 부분 문자열을 검색하는 대신 status_code=500 또는 response_time>2000으로 검색합니다. 데이터는 변경되지 않습니다. 변경되는 것은 이를 활용할 수 있는 능력입니다.
방법 1: 쿼리 시간에 필드 파싱
파싱 표현식 수동 작성
필드를 추출하는 전통적이고 가장 직접적인 방법은 검색의 일부로 파싱 표현식을 작성하는 것입니다. 대부분의 로그 플랫폼은 앵커 기반 파싱 연산자의 일부 버전을 지원합니다. 샘플 로그 라인에서 텍스트 조각을 식별하고, 그 주변에 있는 것을 시스템에 알리고, 추출된 값에 필드 이름을 지정합니다.
이는 일회성 조사에 잘 작동합니다. 특정 오류를 살펴보고 있고, 지금 바로 그것에서 하나 또는 두 개의 필드가 필요하며, 이 검색을 넘어 파싱 로직이 지속될 필요가 없습니다. 트레이드오프는 실제 구문 지식이 필요하다는 것입니다. 정확한 파싱 표현식을 손으로 구축하려면 일반적으로 각 필드 경계를 식별하고, 올바른 문자를 이스케이프하고, 결과를 신뢰하기 전에 몇 가지 샘플 라인에 대해 테스트해야 합니다. 매일 로그를 파싱하는 팀 멤버의 경우 이는 제2의 천성이 됩니다. 다른 모든 사람의 경우 2분 조사를 20분 조사로 바꾸는 기술 격차입니다.
AI가 처리하도록 하세요
위의 접근 방식은 병목 현상을 만듭니다. 파싱 표현식을 작성하는 방법을 알아야 합니다. 이는 특히 팀에 새로 입사했거나 매일이 아닌 가끔씩만 로그를 파싱하는 경우 실제 장벽입니다.
AI 지원 파싱 도구는 결과에 대한 제어를 제거하지 않으면서 이 단계를 제거합니다. Sumo Logic의 로그 검색에서 이는 AI Parse Assist처럼 보입니다. 대표적인 로그 라인을 선택하고, “AI로 파싱”을 선택하고, AI가 잠재적 필드를 식별하고 해당 파싱 표현식을 생성하도록 합니다. 제안된 필드와 표현식을 검토하고, 필요한 경우 변경하고, 검색에 적용합니다. 아무것도 자동으로 실행되지 않습니다. 이는 같은 기술의 가속기이지, 쿼리에 무슨 일이 일어나는지 숨기는 블랙박스가 아닙니다.
방법 2: 수집 시간에 필드 추출
동일한 파싱 표현식을 반복해서 작성(또는 AI를 사용하여 작성)하는 자신을 발견한다면, 쿼리 시간 파싱은 잘못된 도구입니다. 필드 추출 규칙(FER)은 매번 검색할 때마다가 아니라 수집 시간에 한 번 필드를 파싱하여 이를 해결합니다.
이점이 복합적으로 작용합니다. 수집 시간에 필드를 추출하면 임시 검색, 예약된 검색, 실시간 알림 및 대시보드에서 사용할 수 있으므로 누구도 파싱 로직을 다시 도출할 필요가 없습니다. 이는 또한 조직 전체에서 필드 이름을 표준화하므로 “IP 주소”가 누가 검색을 작성했는지에 따라 ip, ip_addr 및 client_ip로 표시되지 않습니다. FER은 생성 시점부터 앞으로만 적용되므로, 필드가 팀에 중요하다면 과거 데이터를 소급하여 파싱해야 할 때까지 기다리지 말고 규칙을 일찍 설정할 가치가 있습니다.
여기서의 트레이드오프는 선행 투자입니다. 플랫폼 전체에서 추출할 가치가 있는 필드를 식별하고 FER을 올바르게 구성해야 하며, 이는 다시 파싱 구문을 알거나 이를 아는 팀 동료에게 의존해야 합니다.
올바른 접근 방식 선택
- 단일 사고를 조사 중입니까? 쿼리 시간 파싱(수동이든 AI 지원이든)은 영구적인 것에 커밋하지 않고도 필요한 필드를 제공합니다.
- 모든 검색에서 동일한 필드를 추출합니까? 필드 추출 규칙(FER)을 설정하여 파싱이 모든 사람을 위해 수집 시간에 한 번 발생하도록 합니다.
- 파싱 구문이 처음이거나 시행착오를 건너뛰고 싶으신가요? AI 지원 제안은 수락, 조정 또는 학습할 수 있는 시작점을 제공합니다.
이들은 상호 배타적이지 않습니다. 파싱에 가장 좋은 접근 방식은 세 가지를 모두 활용하는 것입니다. 항상 필요한 필드에는 추출 규칙을, 가끔 필요한 필드에는 수동 또는 AI 지원 파싱을, 팀 전체에서 충분한 일관성을 유지하여 아무도 조사 중간에 파싱 구문을 다시 배우지 않도록 합니다. 이러한 습관을 들이면 향후 이러한 필드를 기반으로 구축된 모든 검색, 대시보드 및 알림이 더 빠르고 안정적으로 작동하며, 모든 사람이 처음부터 동일한 파싱 문제를 다시 해결할 필요가 없습니다.
작동 방식을 확인해 보세요. 데모 예약하세요.



