For the complete documentation index, see llms.txt. This page is also available as Markdown.

Fastmatch 로그 파서

개요

다음 fastmatch 파서는 로그 라인 내 필드의 위치를 지정하는 단순한 문자열 패턴을 사용합니다. 이름에서 알 수 있듯이 매우 빠르며, 텍스트 로그를 파싱하는 데 권장되는 기본 방법으로 간주해야 합니다. 필드의 순서를 알고 있는 대부분의 구조화된 텍스트 로그 사례를 처리할 수 있습니다. 사실 매우 빨라서 여러 패턴을 순서대로 테스트하도록 지정할 수 있으므로, 로그 라인 구조에 몇 가지 변형이 있는 경우도 '해결'할 수 있습니다.

fastmatch를 사용한 예시

다음 Apache Common Log 형식을 사용하는 예시 로그 라인을 사용할 것입니다:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

다음은 이를 사용하여 이 로그 유형에 대한 로그 스키마를 정의하는 방법입니다 fastmatch:

Panther 콘솔에서는 다음을 따릅니다 수동으로 사용자 지정 스키마를 만드는 방법 안내, 다음을 선택하여 FastMatch 파서.

In a "Schema" section, "FastMatch" is selected for a Parser field. There are various form fields shown, such as Match Patterns, Empty Values, and Skip Prefix.

다음 필드 및 표시기 섹션(아래의 파서 섹션에서 스크린샷 위에 표시된 대로, 다음과 같이 필드를 정의합니다:

fields:
  - 이름: remote_ip
    type: string
    지표:
      - ip
  - 이름: identity
    type: string
  - 이름: user
    type: string
  - name: timestamp
    type: timestamp
    isEventTime: true
    timeFormats:
     - '%d/%b/%Y:%H:%M:%S %z'
  - 이름: method
    type: string
  - name: request_uri
    type: string
  - name: protocol
    type: string
  - name: status
    type: int
  - name: bytes_sent
    type: bigint

fastmatch 패턴 이해하기

패턴은 %{field_name} 플레이스홀더를 사용해 로그 라인에서 필드가 위치할 곳을 지정합니다. 예를 들어, 다음 텍스트와 일치시키려면:

다음 패턴을 사용할 수 있습니다(가독성을 위해 작은따옴표로 감쌌습니다):

Panther 콘솔에서 스키마를 정의하는 경우, 패턴을 다음 항목에 입력합니다 일치 패턴 필드:

A "Match Patterns" field is shown. Its description is, "Define patterns to match log entries and extract structured information from unstructured log lines."

구분 기호

연속된 두 필드 사이의 텍스트가 그 둘 사이의 '구분 기호'를 정의합니다. 구분 기호는 비어 있을 수 없습니다.

위 예제의 패턴에서는 다음을 생략할 수 없습니다 "@" 사이의 serviceip.

필드 앞의 구분 기호 텍스트를 포함할 수 없습니다. 위 예제에서는:

  • timestamp 공백을 포함할 수 없습니다 " "

  • service 포함할 수 없습니다 "@"

  • ip 포함할 수 없습니다 "] ["

  • log_level 포함할 수 없습니다 "] "

익명 필드

이름이 없는 필드 플레이스홀더(%{})는 무시됩니다.

꼬리 캡처

패턴의 마지막 필드 뒤에 구분 기호 텍스트가 없으면 뒤에 있으면, 캡처합니다 모든 것 텍스트 끝까지. 위 예제에서는 message 캡처합니다 "Something when wrong"

따옴표 처리

일부 경우 필드는 텍스트 내에서 따옴표로 감싸질 수 있습니다:

이러한 필드를 올바르게 이스케이프 해제하려면 필드 플레이스홀더를 따옴표로 감싸기만 하면 됩니다:

이는 작은따옴표와 큰따옴표 모두에 적용됩니다.

마지막 업데이트

도움이 되었나요?