• 로그인무료 계정

이 사이트는 현재 개발 중입니다.

여기에서 영문 버전을 확인하실 수 있습니다. 보다 자세한 내용은 이 페이지를 방문하십시오.

문제 신고

로그 API 소개

당사의 로그 전달 솔루션 이 귀하의 요구 사항을 충족하지 못하는 경우 당사의 Log API를 사용하여 HTTP 엔드포인트를 통해 New Relic에 직접 로그 데이터를 보낼 수 있습니다.

Log API를 사용해 보고 싶으십니까? 무료 로 New Relic 계정을 만드 십시오! 신용 카드가 필요하지 않습니다.

HTTP 엔드포인트

New Relic 계정에 적용할 수 있는 엔드포인트를 사용합니다.

미국(US) 엔드포인트:

https://log-api.newrelic.com/log/v1

유럽 연합 (EU) 끝점:

https://log-api.eu.newrelic.com/log/v1

HTTP 설정

Log API를 통해 New Relic 계정에 로그 데이터를 보내려면:

  1. New Relic 라이센스 키 를 받으십시오.
  2. JSON 페이로드에 대한 제한 및 제한된 문자 를 검토하십시오.
  3. 필수 헤더본문 필드를 사용하여 JSON 메시지를 생성합니다.
  4. Api-Key 또는 License-Key헤더 또는 쿼리 매개변수 에 포함되어 있는지 확인하세요. 로그 JSON 예제 를 참조하십시오.
  5. POST 요청에서 New Relic 계정에 대한 적절한 HTTP 엔드포인트로 JSON 메시지를 보냅니다.
  • 우리를: https://log-api.newrelic.com/log/v1
  • 유럽 연합: https://log-api.eu.newrelic.com/log/v1
  1. 트래픽을 생성하고 몇 분 정도 기다린 다음 계정에서 데이터를 확인하십시오 .

로그 관리 기능을 활성화한 후에도 데이터가 나타나지 않으면 문제 해결 절차 를 따르십시오.

HTTP 헤더

HTTP 헤더를 생성할 때 다음 지침을 사용하십시오.

머리글

지원되는 값

Content-Type

필수의

  • application/json
  • json
  • application/gzip
  • gzip

Gzip으로 압축된 JSON 형식이 허용됩니다. 압축된 JSON을 보내는 경우 Content-Type: application/jsonContent-Encoding: gzip 헤더를 포함하세요.

입증

라이선스 키 는 Log API에 대한 요청을 인증하는 역할을 하며 제출된 로그 메시지가 기록될 New Relic 계정을 결정합니다. HTTP 헤더 또는 쿼리 문자열 매개변수로 전달되어야 합니다.

옵션 1: HTTP 헤더를 사용하여 인증

아래 설명된 대로 사용자 지정 HTTP 헤더를 추가하여 라이선스 키를 전달합니다.

머리글

지원되는 값

Api-Key

New Relic 라이센스 키 . 쿼리 매개변수를 통해 이를 보낼 수도 있습니다.

옵션 2: 쿼리 문자열 매개변수를 사용하여 인증("헤더 없는" 인증)

라이센스 키는 URL에서 쿼리 문자열 매개변수로 전달될 수도 있습니다. 이는 사용자 정의 HTTP 요청 헤더를 허용하지 않는 클라우드 기반 소스에서 로그를 보낼 때 유용합니다.

예시: https://LOG_API_ENDPOINT/log/v1?Api-Key=YOUR_API_KEY_HERE

쿼리 매개변수

Api-Key

라이센스 키 . HTTP 헤더를 통해 이것을 보낼 수도 있습니다.

JSON 본문

간단하거나 자세한 속성 세트를 사용하여 JSON 메시지를 보낼 수 있습니다.

지원되는 속성 유형

속성은 다음 유형 중 하나일 수 있습니다.

JSON 요청 입력

New Relic 데이터베이스에 저장된 유형

boolean

boolean

integer

integer

long

long

float

float

double

double

string

string (문자열 값이 문자열화된 JSON인 경우 구문 분석되고 해당 필드가 변수로 추출됩니다. JSON 메시지 속성 구문 분석 참조)

정렬

(지원되지 않음)

제한 및 제한된 문자

주의

고객 대면 애플리케이션의 코드 내에서 API를 호출하지 마십시오. 응답 시간이 느린 경우 성능 문제가 발생하거나 애플리케이션이 차단될 수 있습니다. 이러한 방식으로 수행해야 하는 경우 이러한 성능 문제를 피하기 위해 API를 비동기식으로 호출하십시오.

Log API로 전송되는 로그에 대한 제한 사항:

  • 페이로드 총 크기: POST당 최대 1MB(10^6바이트) . 압축을 사용하는 것이 좋습니다.
  • 페이로드는 UTF-8 로 인코딩되어야 합니다.
  • 이벤트당 속성 수: 최대 255개.
  • 속성 이름 길이: 255자.
  • 속성 값의 길이: 처음 4,094자는 NRDB에 message 과 같은 이름이 같은 Log 이벤트 필드로 저장됩니다. 문자열 값이 4,094자를 초과하면 긴 문자열을 blob 으로 저장합니다.

일부 특정 속성에는 추가 제한 사항이 있습니다.

  • accountId: 예약된 속성 이름입니다. 포함되어 있으면 수집 중에 삭제됩니다.
  • entity.guid, entity.nameentity.type : 이러한 속성은 내부적으로 항목을 식별하는 데 사용됩니다. 메트릭 데이터 포인트의 속성 섹션에서 이러한 키로 제출된 모든 값은 UI의 누락된 엔터티 또는 예상 엔터티와 연결되지 않은 원격 분석과 같은 정의되지 않은 동작을 유발할 수 있습니다. 자세한 내용은 엔터티 합성 을 참조하십시오.
  • eventType: 예약된 속성 이름입니다. 포함되어 있으면 수집 중에 삭제됩니다.
  • timestamp: Unix epoch 타임스탬프여야 합니다. 타임스탬프는 초 또는 밀리초 단위로 정의할 수 있습니다.

중요

48시간보다 오래된 타임스탬프가 있는 페이로드는 삭제될 수 있습니다.

Log API로 전송된 로그의 속도 제한:

  • Log API로 전송되는 HTTP 요청의 최대 속도: 분당 300,000개 요청
  • Log API로 전송되는 압축되지 않은 Log JSON 바이트의 최대 속도: 분당 10GB

비율 제한 위반

속도 제한을 초과하면 Log API가 작동하는 방식에 영향을 줍니다. 이 경우 다음 지침을 따르십시오.

로그 페이로드 형식

모든 유효한 JSON 페이로드를 허용합니다. 페이로드는 UTF-8 로 인코딩되어야 합니다.

JSON 메시지 속성

JSON 메시지 속성 파싱

우리의 로그 관리 기능은 모든 message 속성을 JSON으로 구문 분석합니다. 구문 분석된 메시지의 결과 JSON 속성이 이벤트에 추가됩니다. message 속성이 JSON이 아닌 경우 그대로 유지됩니다.

다음은 message 속성의 예입니다.

{
"timestamp": 1562767499238,
"message": "{\"service-name\": \"login-service\", \"user\": {\"id\": 123, \"name\": \"alice\"}}"
}

이것은 다음과 같이 처리됩니다.

{
"timestamp": 1562767499238,
"message": "{\"service-name\": \"my-service\", \"user\": {\"id\": 123, \"name\": \"alice\"}}",
"service-name": "my-service",
"user": {
"id": 123,
"name": "alice"
}
}

JSON 예시 기록

속성은 문자열 및 숫자와 같은 스칼라 JSON 유형일 수 있습니다. 그것들은 또한 복합(또는 중첩된 ) 객체일 수 있습니다. 복합 속성에는 병합된 이름으로 저장된 관련 속성이 있습니다.

예를 들어 다음은 로그 항목 속성의 복합 user 속성입니다.

"attributes": {
"action": "login",
"user": {
"id": 123,
"name": "alice"
}
}

그러면 다음 속성이 로그 이벤트와 함께 저장됩니다.

기인하다

"action"

"login"

"user.id"

123

"user.name"

"alice"

로그 POST 메시지 예

로그 POST 메시지 예:

POST /log/v1 HTTP/1.1
Host: log-api.newrelic.com
Content-Type: application/json
Api-Key: <YOUR_LICENSE_KEY>
Accept: */*
Content-Length: 319
[{
   "common": {
     "attributes": {
       "logtype": "accesslogs",
       "service": "login-service",
       "hostname": "login.example.com"
     }
   },
   "logs": [{
       "timestamp": <TIMESTAMP_IN_UNIX_EPOCH>,
       "message": "User 'xyz' logged in"
     },{
       "timestamp": <TIMESTAMP_IN_UNIX_EPOCH>,
       "message": "User 'xyz' logged out",
       "attributes": {
         "auditId": 123
       }
     }]
}]

POST 메시지는 다음 로그 메시지가 New Relic에 저장되도록 합니다.

기인하다

"logtype"

"accesslogs"

"service"

"login-service"

"hostname"

"login.example.com"

다음은 저장된 로그 블록 속성의 예입니다.

기인하다

"timestamp"

1550086450124

"message"

"User 'xyz' logged out"

"auditId"

123

JSON POST 요청 예시

다음은 JSON POST 요청의 예입니다.

POST /log/v1 HTTP/1.1
   Host: log-api.newrelic.com
   Content-Type: application/json
   Api-Key: <YOUR_LICENSE_KEY>
   Accept: */*
   Content-Length: 133
   {
     "timestamp": <TIMESTAMP_IN_UNIX_EPOCH>,
     "message": "User 'xyz' logged in",
     "logtype": "accesslogs",
     "service": "login-service",
     "hostname": "login.example.com"
   }

다음은 뭐지?

플랫폼 전반에 걸쳐 로깅 데이터를 탐색합니다.

Copyright © 2022 New Relic Inc.