커스텀 로그
커스텀 스키마 정의, 작성 및 관리
개요
Panther는 사용자가 맞춤 로그 스키마를 정의할 수 있도록 합니다. 맞춤 로그는 을 통해 Panther에 수집할 수 있으며, 사용자가 정의한 스키마는 데이터를 정규화하고 분류합니다. 데이터 전송그리고 사용자의 맞춤 스키마가 데이터를 정규화하고 분류합니다.
이 페이지에서는 필요한 맞춤 스키마 수를 결정하고, 스키마를 추론하고 작성 및 관리하는 방법과 를 사용하여 스키마를 업로드하는 방법을 설명합니다. Panther 분석 도구(PAT)에 대한 사용 방법은 pantherlog CLI 도구로 맞춤 스키마를 작업하는 방법은 를 참조하세요. pantherlog CLI 도구.
맞춤 스키마는 으로 식별됩니다. 맞춤. 이름에 접두사가 붙으며 기본 제공 로그 유형이 사용되는 모든 곳에서 사용할 수 있습니다:
로그 수집
다음을 통해 맞춤 로그를 온보드할 수 있습니다 데이터 전송 (예: HTTP 웹후크, S3, SQS, Google Cloud Storage, Azure Blob Storage)
탐지
다음에 대한 규칙 및 예약 규칙 을(를) 맞춤 스키마에 대해 작성할 수 있습니다.
필요한 맞춤 스키마 수 결정하기
맞춤 소스에서 들어오는 데이터를 표현하기 위해 몇 개의 스키마가 필요한지 결정하는 확정적인 규칙은 없으며, 이는 다양한 로그 이벤트의 용도와 필드 겹침 정도에 따라 달라집니다.
일반적으로 각 로그 유형의 형태를 자체 스키마로 표현하는 데 필요한 최소한의 스키마 수를 만드는 것이 좋습니다(같은 스키마로 표현할 수 있는 로그 유형 간의 약간의 필드 차이를 허용할 여지가 있음). 경험 법칙으로는: 서로 다른 두 로그 유형(예: 애플리케이션 감사 로그와 보안 경고)의 필수 필드가 50% 미만으로 겹친다면 서로 다른 스키마를 사용해야 합니다.
아래 표에서 예시 시나리오와 해당 스키마 권장 사항을 확인하세요:
필드가 있는 하나의 로그 유형이 있고 A, B및 C다른 유형의 로그에는 필드가 있는 경우 X, Y및 Z.
각 로그 유형마다 두 개의 다른 스키마를 만드세요.
기술적으로 모든 필드( A, B, C, X, Y, Z)를 선택 사항(즉, required: false)로 표시한 하나의 스키마를 만드는 것이 가능하지만, 탐지 규칙 작성 및 검색과 같은 하류 작업이 더 어려워지므로 권장되지 않습니다.
항상 필드가 있는 하나의 로그 유형이 있고 A, B및 C항상 필드가 있는 다른 유형의 로그가 있다면 A, B및 Z.
필드를 필수로 표시하고 필드를 선택 사항으로 표시하는 하나의 스키마를 만드세요. A 와 B 필드를 C 와 Z 선택 사항으로 표시하세요.
필요한 스키마 수를 결정한 후, 스키마를 정의할 수 있습니다.
맞춤 스키마 정의 방법
맞춤 스키마를 정의하는 방법은 여러 가지가 있습니다. 다음을 수행할 수 있습니다:
데이터에서 하나 이상의 스키마를 추론하기: 참조 Panther에서 자동으로 스키마 추론하기.
스키마를 수동으로 생성하기: 참조 스키마를 직접 생성하기.
Panther에서 자동으로 스키마 추론하기
스키마를 수동으로 작성하는 대신 Panther 콘솔이나 pantherlog CLI 도구가 데이터에서 스키마(또는 여러 스키마)를 추론하게 할 수 있습니다.
Panther가 스키마를 추론할 때, 데이터 샘플에 다음이 있는 경우 주의하세요:
타입이
object이고 200개 이상의 필드를 가진 필드는 해당 필드가 타입으로 분류됩니다json.혼합 데이터 타입을 가진 필드(즉, 배열에 여러 데이터 타입이 있거나 필드 자체가 다양한 데이터 타입을 가지는 경우)가 있으면 해당 필드는 타입으로 분류됩니다
json.
스키마 추론 방법
Panther에서 스키마를 추론하는 방법은 여러 가지가 있습니다:
Panther 콘솔에서:
업로드한 샘플 데이터에서 스키마를 추론하려면 아래의 샘플 로그에서 맞춤 스키마 추론하기 탭을 참조하세요.
Panther에서 수신된 S3 데이터에서 스키마를 추론하려면, Panther에서 수신된 S3 데이터에서 맞춤 스키마 추론하기 탭을 참조하세요.
이력 S3 데이터에서 하나 이상의 스키마를 추론하려면, 이력 S3 데이터에서 맞춤 스키마 추론하기 탭을 참조하세요.
Panther에서 수신된 HTTP 데이터에서 스키마를 추론하려면, Panther에서 수신된 HTTP 데이터에서 맞춤 스키마 추론하기 탭을 참조하세요.
CLI 워크플로우에서:
다음을 사용하세요
pantherlog infer명령을 사용하세요.
샘플 로그에서 맞춤 스키마 추론하기
샘플 로그를 Panther 콘솔에 업로드하여 스키마를 생성할 수 있습니다. 명령줄을 사용하려면 여기에 있는 pantherlog CLI 도구 사용 지침을 따르세요 여기에서 pantherlog CLI 도구 사용에 대한 지침.
시작하려면 다음 단계를 따르세요:
Panther 콘솔에 로그인합니다.
왼쪽 탐색 표시줄에서 클릭하세요 구성 > 스키마.
페이지 오른쪽 상단의 검색창 옆에서 클릭하세요 새로 만들기.
입력하세요 스키마 ID, 설명및 참조 URL.
설명(Description)은 테이블에 대한 내용에 사용되며, 참조 URL은 내부 리소스에 링크하는 데 사용할 수 있습니다.
선택적으로 활성화 필드 검색 토글을 클릭하여
켜기를 활성화하세요. 에 대해 자세히 알아보세요 필드 검색.다음 스키마 섹션, 의 샘플 이벤트에서 스키마 추론하기 타일에서, 클릭 시작.
다음 샘플 로그에서 스키마 추론하기 모달에서 라디오 버튼 중 하나를 클릭하세요:
샘플 파일 업로드: 샘플 로그 세트 업로드: 시스템에서 파일을 팝업 모달로 끌어오거나 클릭하세요 파일 선택 그리고 로그 파일을 선택하세요.
Panther는 스키마 추론을 위해 헤더 없는 CSV를 지원하지 않습니다. 단 Panther AI가 활성화된 경우는 예외입니다. Panther AI
활성화된 경우샘플 이벤트 붙여넣기

: 에디터에 샘플 이벤트를 직접 붙여넣거나 입력하세요.
파일을 업로드한 후 Panther는 UI에 원시 로그를 표시합니다. 전체 원시 로그를 보려면 로그 라인을 확장할 수 있습니다. 다른 샘플 세트를 추가하면 이전에 업로드한 샘플이 덮어써진다는 점을 유의하세요. 적절한 (스트림 유형).
각 유형의 예시는 여기를 참조하세요 자동:
Panther가 적절한 스트림 유형을 자동으로 감지합니다. 라인:
이벤트는 새 줄 문자로 구분됩니다. JSON:
이벤트가 JSON 형식입니다. JSON 배열:
이벤트가 JSON 객체의 배열 안에 있습니다. CloudWatch Logs:
이벤트가 CloudWatch Logs에서 왔습니다. XML: 이벤트가.
XML 형식 JSON 로그를 업로드한 경우 클릭하세요스키마 추론 (JSON이 아닌 로그를 업로드했고 Panther AI가활성화되어 있다면, 클릭하세요 Panther AI로 스키마 추론그런 다음 확인).
Panther가 원시 샘플 로그에서 스키마 추론을 시작합니다.
Panther는 여러 타임스탬프 형식을 추론하려 시도합니다.
스키마가 생성되면 스키마 편집기 상자에 표시됩니다.

업로드한 샘플 로그와 스키마에 대해 수행한 변경 사항에 대해 스키마가 제대로 작동하는지 확인하려면 클릭하세요 테스트 실행.
이 테스트는 스키마의 구문이 올바른지와 Panther에 업로드한 로그 샘플이 스키마와 성공적으로 일치하는지 검증합니다.
테스트 결과를 보려면 클릭하세요 이벤트 보기.

성공적으로 일치한 모든 로그는 아래의 일치됨에 표시됩니다; 각 로그는 열, 필드 및 JSON 뷰를 표시합니다.
성공적으로 일치하지 않은 모든 로그는 아래의 일치하지 않음에 표시됩니다; 각 로그는 오류 메시지와 원시 로그를 표시합니다.
클릭 저장 스키마를 게시하려면 클릭하세요.
Panther에서 수신된 S3 데이터에서 맞춤 스키마 추론하기
S3 버킷에서 Panther로 스트리밍되는 실시간 데이터에서 맞춤 로그 소스의 스키마를 생성하고 게시할 수 있습니다. 먼저 S3 데이터를 확인 한 다음 스키마를 추론하고그런 다음 스키마를 테스트하세요.
원시 S3 데이터 보기
S3 버킷을 Panther에 온보드한 후 Panther로 수신되는 원시 데이터를 보고 그로부터 스키마를 추론할 수 있습니다:
지침에 따라 S3 버킷을 Panther에 온보드하세요 스키마가 없는 상태에서.
로그 소스의 개요 탭을 보는 동안 아래로 스크롤하여 데이터 분류를 시작하기 위해 스키마를 연결하세요 섹션.

다음 옵션 중에서 선택하세요:
기존 스키마를 추가하려면: 이미 스키마를 생성했고 Panther가 로그를 읽을 S3 접두사를 알고 있는 경우 이 옵션을 선택하세요. 타일에서 클릭하세요 시작 타일에서.
다음이 표시됩니다 S3 접두사 및 스키마 팝업 모달:

원시 이벤트에서 스키마를 생성하려면: 이 옵션을 선택하여 이 버킷의 실시간 데이터에서 스키마를 생성하고 Panther가 로그를 읽을 접두사를 정의하세요. 클릭하세요 시작 타일에서.
데이터가 Panther로 스트리밍되기 시작하려면 최대 15분을 기다려야 할 수 있습니다.
리디렉션된 페이지에서 화면 하단에 Panther가 수신한 원시 데이터를 볼 수 있습니다:

이 데이터는 Panther가 관리하는 S3 버킷인
data-archiver에서 표시되며, 모든 S3 로그 소스에 대해 원시 로그를 최대 15일 동안 보존합니다.Panther에서 소스를 구성한 후에 S3 버킷에 배치된 원시 로그 이벤트만 표시되며, 시간을 더 뒤로 설정하더라도 보이는 것은 구성한 후에 배치된 원시 로그 이벤트뿐입니다.
원시 이벤트가 JSON 형식인 경우 왼쪽 열에서 JSON 보기 를 클릭하여 JSON으로 볼 수 있습니다.
원시 데이터에서 스키마 추론하기
이전 섹션에서 원시 이벤트에서 스키마를 생성하고 싶습니다 를 선택한 경우 이제 스키마를 추론할 수 있습니다.
원시 이벤트에 데이터가 채워지는 것을 보면 원시 이벤트, 추론할 이벤트를 문자열 검색, S3 접두사, 제외 접두사 및/또는 기간 필터를 사용하여 필터링할 수 있습니다. 원시 이벤트 섹션.
클릭 JSON 로그를 업로드한 경우 클릭하세요 에서 스키마를 생성하세요.

페이지에서 새 스키마 추론 팝업 모달에 다음을 입력하세요:
새 스키마 이름: 스키마가 게시되면 데이터 레이크의 테이블에 매핑될 스키마의 이름입니다.
이름은 항상 다음으로 시작합니다
맞춤.그리고 그 다음에는 대문자가 있어야 합니다.
S3 접두사: 스키마를 추론하기 전에 설정된 기존 접두사 또는 새 접두사를 사용하십시오.
선택한 접두사는 추론한 스키마에 해당 S3 버킷의 해당 접두사에서 데이터를 필터링합니다.
특정 접두사를 지정할 필요가 없다면 이 필드를 비워 두어
*.
클릭 JSON 로그를 업로드한 경우 클릭하세요.
페이지 상단에서 다음을 볼 수 있습니다 '<스키마 이름>'이(가) 성공적으로 추론되었습니다.
클릭 완료.

그런 다음 스키마는 초안 모드에 배치되어 테스트 후 운영 환경에 게시할 준비가 될 때까지 유지됩니다.
스키마 이름을 클릭하여 스키마와 필드를 검토하십시오.

스키마가 초안상태이므로 필요에 따라 필드를 변경, 제거 또는 추가할 수 있습니다.

원시 데이터로 스키마 테스트
스키마와 접두사가 정의되면 원시 데이터에 대해 스키마 구성을 테스트할 수 있습니다.
다음 스키마 테스트 화면 상단의 섹션에서 클릭하세요 테스트 실행.

페이지에서 스키마 테스트 팝업되는 모달에서 선택하세요 기간 테스트하려는 기간을 선택한 다음 클릭하세요 테스트 시작.

시간 범위와 데이터 양에 따라 테스트 완료까지 몇 분 정도 걸릴 수 있습니다.

테스트가 시작되면 일치한 이벤트와 일치하지 않은 이벤트 수와 함께 결과가 표시됩니다.
일치한 이벤트 는 스키마 구성과 성공적으로 분류될 이벤트 수를 나타냅니다.
일치하지 않은 이벤트 는 스키마와 분류되지 않을 이벤트 수를 나타냅니다.
다음이 있는 경우 일치하지 않은 이벤트오류와 JSON을 검사하여 실패 원인을 파악하십시오.

클릭 스키마로 돌아가기필요한 변경을 하고 스키마를 다시 테스트하세요.
클릭 스키마로 돌아가기.
오른쪽 상단에서 클릭 저장.

추론된 스키마가 이제 로그 소스에 연결되었습니다.
이력 S3 데이터에서 맞춤 스키마 추론하기
S3 버킷의 이전 데이터(예: 로그 소스로 온보딩되기 이전에 Panther에)를 사용하여 맞춤 S3 로그 소스에 대해 하나 또는 여러 스키마를 추론하고 저장할 수 있습니다.
전제 조건: S3 버킷을 Panther에 온보딩하십시오
지침에 따라 S3 버킷을 Panther에 온보드하세요 스키마가 없는 상태에서.
S3 소스를 온보딩했다면 맞춤 IAM 역할과 함께해당 역할에는 반드시
ListBucket권한이 있어야 합니다.
1단계: Panther에서 S3 버킷 구조 보기
Panther에서 S3 버킷 소스를 생성한 후 Panther 콘솔에서 S3 버킷의 구조와 데이터를 볼 수 있습니다:
Panther 콘솔의 왼쪽 탐색 바에서 클릭하십시오 구성 > 로그 소스.
S3 로그 소스로 들어갑니다.
로그 소스의 개요 탭을 보는 동안 아래로 스크롤하여 스키마를 연결하여 데이터를 분류 시작 섹션.
오른쪽에 버킷 데이터에서 스키마를 생성하려고 합니다 타일에서, 클릭 시작.

Panther에서 로그 소스의 개요 탭에는 "버킷 데이터에서 스키마를 생성하려고 합니다"라는 타일 옆에 "시작" 버튼이 있습니다. S3 버킷의 폴더 검사로 리디렉션됩니다. 여기에서 버킷의 모든 폴더와 객체를 보고 탐색할 수 있습니다.

또는 S3 소스를 Panther에 온보딩한 후 성공 페이지를 통해 S3 버킷의 폴더 검사에 액세스할 수 있습니다. 그 페이지에서 클릭하세요 스키마 연결 또는 추론(Attach or Infer Schemas).

2단계: 데이터 탐색
폴더 검사를 보는 동안 객체를 클릭하세요.
슬라이드 아웃 패널이 나타나며 해당 이벤트의 미리보기를 표시합니다:

이벤트가 올바르게 렌더링되지 않거나(오류 발생 또는 잘못 표시되는 경우) S3 버킷 소스에 잘못된 스트림 유형이 선택되었을 수 있습니다. 이 경우 클릭하세요 선택된 로그 형식은 n입니다:

3단계: 각 폴더에 기존 스키마가 있는지 또는 새 스키마를 추론해야 하는지 표시
버킷에 포함된 내용을 검토한 후 버킷의 모든 데이터를 나타내기 위해 하나 또는 여러 스키마가 필요한지 결정할 수 있습니다. 그런 다음 구조가 다른 데이터를 포함하는 폴더를 선택하여 새 스키마를 추론하거나 기존 스키마를 할당할 수 있습니다.
S3 버킷의 데이터에서 하나 이상의 스키마를 추론해야 하는지 여부를 결정하십시오.
S3 버킷의 모든 데이터가 동일한 구조(따라서 하나의 스키마로 표현될 수 있음)인 경우 버킷 수준에서 기본 새 스키마 추론 옵션을 선택된 상태로 둘 수 있습니다. 이렇게 하면 버킷의 모든 데이터에 대해 단일 스키마가 생성됩니다.

S3 버킷에 여러 스키마로 분류되어야 하는 데이터가 포함된 경우 버킷의 각 폴더에 대해 아래 단계를 따르십시오:
폴더를 선택하고 클릭하세요 포함.
또는 Panther가 처리하길 원하지 않는 폴더나 하위 폴더가 있는 경우 해당 폴더를 선택하고 클릭하세요 에 설치해야 하며 제외 기존 데이터와 일치하는 스키마가 있는 경우 행 오른쪽의.

드롭다운을 클릭한 다음 스키마를 선택하십시오: 스키마 기본적으로 새로 포함된 각 폴더에는

옵션이 선택되어 있습니다. 새 스키마 추론 추론
클릭 n
4단계: 스키마가 추론될 때까지 대기스키마.
스키마 추론 프로세스는 최대 15분이 걸릴 수 있습니다. 프로세스가 완료되는 동안 이 페이지를 떠날 수 있습니다. 또한 이 프로세스를 조기에 중지하고 프로세스가 실행되는 동안 추론된 스키마를 유지할 수 있습니다.
5단계: 결과 검토

추론 프로세스가 완료되면 결과 스키마와 각 스키마 추론에 사용된 이벤트 수를 볼 수 있습니다. 또한 각 스키마가 원시 이벤트를 어떻게 파싱하는지 검증할 수 있습니다.
각 행 오른쪽의 재생 아이콘을 클릭하세요.
이벤트

다음 항목을 클릭하십시오 탭에서 원시 및 정규화된 이벤트를 확인하세요. 탭에서 생성된 스키마를 확인하세요.

다음 항목을 클릭하십시오 스키마 6단계: 스키마 이름 지정 및 소스 저장

소스를 저장하기 전에 새로 추론된 각 스키마에 고유한 이름을 지정하려면 클릭하세요
이름 추가 모든 새 스키마에 이름을 지정한 후 오른쪽 상단의.

를 클릭할 수 있습니다. 소스 저장 Panther에서 수신된 HTTP 데이터
Panther에서 수신된 HTTP 데이터에서 맞춤 스키마 추론하기
HTTP 데이터를 보기 원시 HTTP 데이터 보기 한 다음 스키마를 추론하고그런 다음 스키마를 테스트하세요.
생성 후
HTTP 소스 Panther에서 Panther로 들어오는 원시 데이터를 보고 여기에서 스키마를 추론할 수 있습니다: HTTP 로그 소스 설정 지침
다음을 따르세요 Panther에서. HTTP 소스 설정 중에는 스키마를 선택하지 마십시오.
이미 스키마를 만든 경우 이 옵션을 선택하세요. 클릭하세요
로그 소스의 개요 탭을 보는 동안 아래로 스크롤하여 데이터 분류를 시작하기 위해 스키마를 연결하세요 섹션.

다음 옵션 중에서 선택하세요:
기존 스키마를 추가하려면: HTTP 소스 편집 페이지로 이동하여 시작 타일에서.
스키마 - 선택 사항 필드에서 선택할 수 있습니다: HTTP 소스 편집 페이지

스키마를 생성하려고 합니다:
실시간 데이터에서 스키마를 생성하려면 이 옵션을 선택하세요. 클릭하세요 참고: 이벤트를 HTTP 엔드포인트로 시작 타일에서.
POST
한 후 Panther에서 볼 수 있기까지 몇 분 기다려야 할 수 있습니다.리디렉션된 페이지에서 아래에서 지난 일주일 동안 Panther가 수신한 원시 데이터를 볼 수 있습니다: 원시 이벤트HTTP 원시 이벤트

는 원시 HTTP 소스 로그를 15일 동안 보관하는 Panther 관리 S3 버킷입니다. 이 데이터는 Panther가 관리하는 S3 버킷인
data-archiver선택하는 경우
원시 데이터에서 스키마 추론하기
스키마를 생성하려고 합니다 데이터가 를 선택한 경우 이제 스키마를 추론할 수 있습니다.
내에 채워지는 것을 보면 원시 이벤트활성화되어 있다면, 클릭하세요 JSON 로그를 업로드한 경우 클릭하세요.

페이지에서 새 스키마 추론 팝업되는 모달에 다음을 입력하세요:
새 스키마 이름: 설명적인 이름을 입력하십시오. 이름은 항상 다음으로 시작합니다
맞춤.그리고 그 다음에는 대문자가 있어야 합니다.
클릭 JSON 로그를 업로드한 경우 클릭하세요.
페이지 상단에서 다음을 볼 수 있습니다 '<스키마 이름>'이(가) 성공적으로 추론되었습니다.
클릭 완료.

스키마는 초안 모드에 배치되어 테스트 후 게시할 준비가 될 때까지 유지됩니다.
초안 스키마의 이름을 클릭하여 추론된 필드를 검토하십시오.

스키마가 초안그런 다음 필요에 따라 필드를 추가, 제거 또는 변경할 수 있습니다.

원시 데이터로 스키마 테스트
스키마가 정의되면 원시 데이터에 대해 스키마 구성을 테스트할 수 있습니다.
다음 스키마 테스트 화면 상단의 섹션에서 클릭하세요 테스트 실행.

다음 스키마 테스트 팝업 모달에서 선택하세요 기간 테스트하려는 기간을 선택한 다음 클릭하세요 테스트 시작.

시간 범위와 데이터 양에 따라 테스트 완료까지 몇 분 정도 걸릴 수 있습니다.

테스트가 시작되면 일치한 이벤트와 일치하지 않은 이벤트 수와 함께 결과가 표시됩니다.
일치한 이벤트 는 스키마 구성과 성공적으로 분류될 이벤트 수를 나타냅니다.
일치하지 않은 이벤트 는 스키마와 분류되지 않을 이벤트 수를 나타냅니다.
다음이 있는 경우 일치하지 않은 이벤트오류와 JSON을 검사하여 실패 원인을 파악하십시오.

클릭 스키마로 돌아가기필요한 변경을 하고 스키마를 다시 테스트하세요.
클릭 스키마로 돌아가기.
오른쪽 상단에서 클릭 저장.

추론된 스키마가 이제 로그 소스에 연결되었습니다.
스키마가 연결되기 전에 HTTP 소스로 전송되어 스키마 추론에 사용된 로그 이벤트는 Panther로 수집됩니다.
스키마를 직접 생성하기
맞춤 스키마를 수동으로 만드는 방법
맞춤 스키마를 수동으로 생성하려면:
Panther 콘솔의 왼쪽 탐색 바에서 클릭하십시오 구성 > 스키마.
오른쪽 상단에서 클릭 새로 만들기.
입력하세요 스키마 ID, 설명및 참조 URL.
설명(Description)은 테이블에 대한 내용에 사용되며, 참조 URL은 내부 리소스에 링크하는 데 사용할 수 있습니다.
선택적으로 활성화 자동 필드 검색 토글을 클릭하여
켜기를 활성화하세요. 에 대해 자세히 알아보세요 필드 검색.다음 스키마 섹션, 의 스키마를 처음부터 생성 타일에서, 클릭 시작.
설정은 스키마 섹션은 기본적으로 별도 섹션. 전체 스키마를 하나의 편집기 창에 작성하려면 단일 편집기.

다음 파서 섹션에서 스키마에 기본(JSON/XML) 이외의 파서가 필요한 경우 해당 파서를 선택하세요. 다른 파서 옵션에 대해서는 다음 페이지에서 자세히 알아보십시오: 스크립트 로그 파서 Fastmatch 로그 파서
다음 스키마 작성 스키마 구성에 대해 자세히 알아보려면
참조 Panther가 생성한 스키마 필드 제안
(선택 사항) Universal Data Model 섹션에서 스키마에 대한 핵심 필드 매핑을 정의하십시오. 자세한 내용은.
맞춤 로그 스키마에서 핵심 필드 매핑하기 창 하단에서 클릭하여 스키마에 오류가 없는지 확인하십시오.
구문 검사는 로그 스키마의 구문만 확인합니다. 이름 충돌로 인해 저장에 실패할 수 있습니다. 이제.
로 이동하여 새 소스를 추가하거나 기존 소스를 수정하여 새 테스트 실행 Custom.SampleAPI
_로그 유형을 사용하도록 설정할 수 있습니다. Panther가 이 소스에서 이벤트를 수신하면 로그를 처리하여
클릭 저장.
custom_sampleapi 구성 > 로그 소스 테이블에 저장합니다. 또한 이제 이러한 로그에 대해 대응하는 탐지 규칙을 작성하고 을(를) 사용하여 쿼리할 수 있습니다. 아래 탭을 참조하여 JSON, XML 및 텍스트 로그용 스키마 작성 방법을 알아보십시오.
JSON 로그 JSON 로그용 스키마 작성 각 줄이 JSON인 로그 파일을 파싱하려면 각 로그 항목의 구조를 설명하는 로그 스키마를 정의해야 합니다. 검색 또는 데이터 탐색기.
Panther가 생성한
Panther 콘솔에서 YAML 사양을 직접 편집하거나
. 로그 스키마의 구조 및 필드에 대한 자세한 내용은
로그 스키마
참조를 참조하십시오. 또한 JSON 로그에서starlark 파서를 사용하여 Panther에서 기본적으로 지원하지 않는 변환을 수행할 수 있습니다.아래 예제 스키마에서 첫 번째 탭은 JSON 로그 구조를 표시하고 두 번째 탭은 로그 스키마를 보여줍니다. JSON 로그 예제.
"method": "GET", "path": "/-/metrics", "format": "html", "controller": "MetricsController", "action": "index",.
"status": 200,
축약된 JSON 로그 예시:
{"method":"GET","path":"/-/metrics","format":"html","controller":"MetricsController","action":"index","status":200,"params":[],"remote_ip":"1.1.1.1","user_id":null,"username":null,"ua":null,"queue_duration_s":null,"correlation_id":"c01ce2c1-d9e3-4e69-bfa3-b27e50af0268","cpu_s":0.05,"db_duration_s":0,"view_duration_s":0.00039,"duration_s":0.0459,"tag":"test","time":"2019-11-14T13:12:46.156Z"}
XML 로그용 스키마 작성
Panther는 XML 로그를 중간에 JSON으로 파싱하므로 JSON 로그 탭에 설명된 JSON 로그용 도구를 모두 사용할 수 있습니다. Panther가 XML을 JSON으로 파싱하는 방법은 XML 스트림 유형, 그런 다음 이에 따라 스키마를 생성하세요.
XML은 문자열 이외의 데이터 타입을 지원하지 않기 때문에 해당 JSON 표현의 모든 값은 문자열로 표시됩니다(예: "ip": "192.168.1.100"). 스키마를 정의할 때 아래의 로그 스키마 예시에서 볼 수 있듯이 각 필드에 적절한 타입을 사용할 수 있습니다.
텍스트 로그용 스키마 작성
Panther는 JSON/XML으로 구조화되지 않은 로그를 각 로그 라인을 키/값 쌍으로 변환하여 파이프라인의 나머지 부분에 JSON으로 전달하는 '파서'를 사용해 처리합니다. 텍스트 파서는 "format": "html", 의 필드를 사용하여 정의할 수 있습니다 파서를 사용하여 Panther에서 기본적으로 지원하지 않는 변환을 수행할 수 있습니다.Panther는 비-JSON/XML 형식 로그를 위해 다음 파서를 제공합니다:
이름
설명
각 텍스트 라인을 하나 이상의 단순 패턴과 매치시킵니다
정규표현식 패턴을 사용하여 조건부 필드, 대소문자 무시 매칭 등 보다 복잡한 매칭을 처리합니다.
로그 파일을 CSV로 취급하여 열 이름을 필드 이름에 매핑합니다
텍스트 로그를 파싱하거나 JSON 로그에 대한 변환을 수행합니다
스키마 필드 제안
사용자 지정 스키마를 생성하거나 편집할 때 Panther가 생성한 필드 제안을 사용할 수 있습니다. 이 기능을 사용하려면:
Panther 콘솔에서 YAML 스키마 편집기로 들어갑니다.
기존 스키마를 편집하려면 구성 > 스키마 > [편집하려는 스키마 이름] > 편집을 클릭하고.
새 스키마를 생성하려면 구성 > 스키마 > 새로 만들기.
를 클릭하세요
Command+I 키를 누르세요macOS에서 (또는Control+IPC에서).스키마 편집기는 텍스트 커서의 위치에 따라 사용 가능한 속성 및 연산을 표시합니다.

YAML 스키마 편집기가 표시됩니다. 커서 아래에 concat, copy, description, indicators, mask 등 다양한 필드 제안이 있는 상자가 있습니다.
사용자 지정 스키마 관리
사용자 지정 스키마 편집
Panther는 사용자 지정 스키마를 편집할 수 있게 해 줍니다. 구체적으로 다음 작업을 수행할 수 있습니다:
새 필드 추가.
기존 필드 이름 변경 또는 삭제.
기존 필드의 모든 속성을 편집, 추가 또는 제거.
구성을 수정하여 버그를 수정하거나 새로운 패턴을 추가합니다.
"format": "html",구성을 수정하여 버그를 수정하거나 새로운 패턴을 추가합니다.
사용자 지정 스키마를 편집하려면:
Panther 콘솔에서 해당 사용자 지정 스키마의 세부 페이지로 이동하세요.
세부 페이지 오른쪽 상단에서 편집을 클릭하고.\

클릭하세요.
(선택 사항) Universal Data Model 섹션에서 스키마에 대한 핵심 필드 매핑을 정의하십시오. 자세한 내용은.
원하는 대로 스키마를 수정하세요. 변경 사항을 더 쉽게 확인하거나(또는 삭제된 라인을 복사하거나 되돌리려면) 그런 다음 단일 편집기,.\

오른쪽 상단에서 클릭하십시오 Diff 보기.
클릭 테스트 실행 YAML의 구조 준수를 확인하려면 Diff 보기을(를) 클릭하세요. 규칙은
를 클릭한 후에만 검사됩니다.
업데이트 관련 탐지 및 저장된 쿼리 스키마 필드를 편집하면 관련 탐지 및 저장된 쿼리를 업데이트해야 할 수 있습니다. 영향을 받는 탐지 및 저장된 쿼리 목록을 보고, 업데이트하고, 테스트하려면 스키마 편집기 위에 표시되는 알림 배너에서 관련 탐지

쿼리 영향
쿼리는 타입 에 대한 변경 전반에서 작동하지만, 쿼리가 타입 간에 캐스트할 수 없는 필드 타입을 필요로 하는 함수나 연산자를 사용하면 예외입니다. 타입들.
좋은 예: 해당 타입 이(가)
string에서int으로 편집되며 기존 모든 값이 숫자인 경우(예:"1"). 함수sum은 이전 값과 새 값을 함께 집계합니다.나쁜 예: 해당 타입 이(가)
string에서int기존 값 중 일부가 숫자가 아닌 경우(예:"apples"). 함수sum숫자가 아닌 값을 제외합니다.
쿼리 캐스트 가능성 표
이 표는 어떤 타입들 가 쿼리를 실행할 때 각 타입 로 캐스트될 수 있는지를 보여줍니다. 스키마 편집을 통해 어떤 타입 든 다른 타입.
부울
같음
예
예
예
아니요
아니요
string
예
같음
숫자만
숫자만
숫자만
숫자만
int
예
예
같음
예
예
숫자만
빅인트
예
예
예
같음
예
숫자만
실수
예
예
예
예
같음
숫자만
타임스탬프
아니요
예
아니요
아니요
아니요
같음
사용자 지정 스키마 보관 및 보관 해제
Panther에서는 사용자 지정 스키마를 보관하거나 보관 해제할 수 있습니다. 스키마가 더 이상 데이터 수집에 사용되지 않고 Panther 전반의 다양한 드롭다운 선택 항목에 표시되기를 원하지 않을 때 스키마를 보관하도록 선택할 수 있습니다. 스키마를 보관하려면 해당 스키마가 어떤 로그 소스에서도 사용 중이지 않아야 합니다. 보관된 스키마는 여전히 영구적으로 존재하며 스키마를 완전히 삭제할 수는 없습니다.
스키마를 보관해도 해당 스키마를 사용하여 이미 데이터 레이크에 저장된 데이터에는 영향을 주지 않습니다—해당 데이터는 여전히 데이터 탐색기 와 검색을(를) 사용하여 쿼리할 수 있습니다. 기본적으로 보관된 스키마는 스키마 목록 뷰(에서 볼 수 있음)에 표시되지 않지만, 구성 > 스키마을(를) 수정하여 표시할 수 있습니다. 상태내의 필터오른쪽 상단에서. 에서는 데이터 탐색기테이블 아래에 보관된 스키마의 테이블이 표시되지 않습니다..
보관된 스키마와 동일한 이름으로 새 스키마를 생성하려고 하면 이름 충돌이 발생하며 기존 스키마를 대신 보관 해제하고 편집하라는 메시지가 표시됩니다.
사용자 지정 스키마를 보관하거나 보관 해제하려면:
Panther 콘솔에서 구성 > 스키마.
로 이동하세요.
보관하거나 보관 해제하려는 스키마를 찾으세요. 스키마 행의 오른쪽에 있는 또는 클릭하세요 보관

보관 해제 아이콘..

스키마를 보관하는 경우 해당 스키마가 하나 이상의 로그 소스와 현재 연결되어 있으면 확인 모달이 먼저 스키마 분리를 요청합니다. 분리한 후에 클릭하세요 계속.
새로 고침
또한 위 로그 형식들은 다음 형식으로 압축될 수 있습니다:
멀티라인 로그는 JSON 및 JSONArray 형식에서 지원됩니다. 구성 > 스키마.
사용자 지정 스키마가 로그에 대해 작동하는지 확인하려면 샘플 로그로 테스트할 수 있습니다:.
Panther 콘솔의 왼쪽 네비게이션 바에서 스키마 테스트.

를 클릭하세요
사용자 지정 스키마를 Panther 콘솔 외부에서 유지 관리하여 버전 관리를 하거나 업데이트 전에 변경 사항을 검토하려는 경우, Panther 분석 도구 (PAT)를 사용하여 YAML 파일을 프로그래밍 방식으로 업로드할 수 있습니다.
업로더 명령은 기본 경로를 인수로 받아 확장자가 .yml 와 .yaml.
panther_analysis_tool update-custom-schemas --path ./schemas
설정은 업로더는 기존 스키마가 있는지 확인하고 업데이트를 진행하거나 일치하는 스키마 이름이 없으면 새로 생성합니다.스키마 JSON 로그 예제.
필드는 YAML 파일에 항상 정의되어 있어야 하며 업데이트가 성공하려면 기존 스키마 이름과 일치해야 합니다. 사용 가능한 모든 CI/CD 필드 목록은
PAT를 통해 업로드된 스키마는 Panther 콘솔에서 수행된 업데이트와 동일한 기준으로 검증됩니다.
Panther 지식 기반을 방문하여 사용자 지정 로그 문제 해결하기에 대한 문서 보기 자주 묻는 질문에 대한 답변과 일반적인 오류 및 문제 해결에 도움이 되는 자료를 제공합니다.
Last updated
Was this helpful?

