• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

로그의 타임스탬프 형식

로그 이벤트는 특정 이벤트가 발생한 정확한 순간을 알려주는 타임스탬프 속성을 남깁니다. 타임스탬프를 사용하면 특정 기간에 대한 로그를 검색하여 이벤트가 발생한 내용과 시기를 확인할 수 있으므로 이벤트 순서를 지정하는 데 매우 중요합니다.

타임스탬프에는 단일 표준 없이도 다양한 형식이 있습니다. 대부분의 경우 로그 이벤트 시작 부분에 표시되지만 때로는 로그에서 훨씬 나중에 표시되거나 전혀 표시되지 않을 수도 있습니다.

  • 기본적으로 New Relic은 로그가 수집되는 정확한 시간에 로그 timestamp 속성(예약된 키워드) 값을 할당합니다. 이를 수집 시간이라고 합니다.
  • 로그에 timestamp 속성이 없으면 New Relic은 수집 시 타임스탬프를 할당합니다.
  • JSON 형식의 로그에는 timestamp, log_timestamp, time 등과 같은 타임스탬프를 식별하는 일부 속성이 포함되어 있습니다.
  • 지원되는 타임스탬프 형식이 포함된 JSON 로그를 수신하면 수집 타임스탬프를 JSON 속성으로 재정의합니다.

지원되는 로그 타임스탬프 형식

로그에 포함된 timestamp 값을 할당하기 위해 기본 동작을 수동으로 재정의하는 두 가지 옵션이 있습니다.

  1. 지원되는 시간 형식 중 하나로 timestamp 속성이 포함된 JSON 형식 로그를 수신하면 수집 타임스탬프가 재정의됩니다. 대신 JSON 속성의 타임스탬프 값이 사용됩니다.
  2. 구문 분석 규칙을 사용하여 수집 timestamp 값을 재정의할 수 있습니다. 구문 분석 규칙을 사용하면 데이터를 추출하여 지원되는 형식 중 하나로 타임스탬프 형식을 지정할 수 있습니다. datetime Grok 유형과 pattern 를 사용하여 로그에 사용자 정의 타임스탬프 형식을 정의할 수도 있습니다.

우리는 두 가지 타임스탬프 형식을 지원합니다.

JSON 로그에서 지원되는 타임스탬프

timestamp 속성이 포함된 JSON 형식 로그를 수신하면 기본 수집 timestamp 값을 원래 JSON 값으로 재정의합니다. 타임스탬프 필드가 없거나 필드 형식이 잘못된 경우 로그는 수집 타임스탬프와 함께 저장됩니다. 48시간보다 오래된 타임스탬프가 있는 페이로드는 삭제된다는 점에 유의하세요.

타임스탬프는 Unix epoch 밀리초로 변환되고 예약된 키워드 timestamp 를 사용하여 내부적으로 긴 데이터 유형으로 저장됩니다. JSON 본문 형식에 따라 타임스탬프 필드는 네 가지 다른 위치에 할당될 수 있습니다.

  • 단일 JSON 개체를 보낼 때 JSON 본문 메시지의 단순화된 속성 집합 내부.

  • 하나 이상의 JSON 개체를 보낼 때 JSON 본문 메시지의 세부 속성 집합에 있는 공통 개체 내부입니다. 타임스탬프는 이 JSON의 모든 로그 메시지에 적용됩니다.

  • 하나 이상의 JSON 개체를 보낼 때 JSON 본문 메시지의 세부 속성 집합에 있는 로그 개체의 각 로그 메시지 내부에 있습니다. 타임스탬프는 해당 로그 메시지에만 적용됩니다.

  • 유효한 JSON 메시지인 경우 "메시지" JSON 필드 내부. 우리의

    기능은 모든 메시지 속성을 JSON으로 구문 분석합니다. 구문 분석된 메시지의 결과 JSON 속성이 로그에 추가됩니다.

다음은 수집 timestamp 을 재정의하는 유효한 timestamp 속성이 있는 JSON 로그의 몇 가지 예입니다.

구문 분석 규칙을 사용하여 로그 타임스탬프 설정

수집 시 구문 분석 규칙을 사용하여 수집 timestamp 을 로그에 포함된 값으로 재정의할 수 있습니다. 구문 분석 규칙은 간단한 Grok 표현식을 사용하거나 datetime Grok 유형 및 pattern 를 사용하여 로그에 사용자 정의 타임스탬프 형식을 정의하여 지원되는 시간 형식을 추출합니다.

표현식으로 추출된 속성 이름은 timestamp 이어야 하며 해당 데이터 유형은 문자열 또는 long이어야 합니다. 데이터 유형이 제공되지 않으면 타임스탬프의 기본값은 문자열입니다. 마이크로초 또는 나노초 정밀도의 에포크 타임스탬프의 경우 타임스탬프 정밀도가 밀리초로 단축되더라도 long 데이터 유형을 포함해야 합니다.

로그의 타임스탬프가 Unix epoch 또는 ISO8601 형식의 타임스탬프인 경우 기본 Grok 패턴을 사용하여 일치시킬 수 있습니다. 예를 들어:

  • Unix 에포크 타임스탬프를 추출하려면 NUMBER, NOTSPACE, DATA 또는 GREEDYDATA 와 같이 값과 일치하는 표현식을 사용할 수 있습니다.
  • ISO8601 형식의 타임스탬프를 추출하려면 TIMESTAMP_ISO8601 Grok 표현식을 사용해야 합니다.

datetime Grok 유형을 사용하여 지원되지 않는 형식의 타임스탬프를 구문 분석할 수 있습니다. 이렇게 하려면 로그 타임스탬프 형식과 일치하는 pattern 와 함께 datetime Grok 유형을 포함해야 합니다. pattern 은(는) 여기에 있는 Java 단순 날짜 및 시간 패턴을 사용해야 합니다. 다음은 Grok 표현식이 지원되지 않는 타임스탬프 형식을 지원되는 형식으로 변환하는 방법을 보여주는 예입니다.

timestamp

pattern

그록 표현

2023년 11월 17일 23:55:25.674

MM/dd/yyyy HH:mm:ss.SSS

%{DATA:timestamp:datetime;MM/dd/yyyy HH:mm:ss.SSS}

2023년 11월 17일 23:55:25

MM-dd-yyyy HH:mm:ss

%{DATA:timestamp:datetime;MM-dd-yyyy HH:mm:ss}

2023년 11월 17일 오전 09:55:25

MM/dd/yyyy h:mm:ss a

%{DATA:timestamp:datetime;MM/dd/yyyy h:mm:ss a}

다음은 수집 파싱 규칙을 사용하여 로그에서 timestamp 를 파싱하는 방법에 대한 몇 가지 예입니다.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.