• English日本語한국어
  • 로그인지금 시작하기

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

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

문제 신고

Log 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

FedRAMP 엔드포인트:

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

HTTP 설정

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

  1. 을(를) 받으세요.

  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
  • 페드램프: https://gov-log-api.newrelic.com/log/v1
  1. 트래픽을 생성하고 몇 분 정도 기다린 다음 계정에서 데이터를 확인하십시오 .

기능을 활성화한 후에도 데이터가 나타나지 않으면 문제 해결, 문제 해결 절차를 따르세요.

HTTP 헤더

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

머리글

지원되는 값

Content-Type

필수의

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

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

입증

귀하의 은(는) 로그인 API에 대한 요청을 인증하는 역할을 하며 제출된 로그 메시지가 기록될 뉴렐릭 계정을 결정합니다. HTTP 헤더나 쿼리 문자열로 전달되어야 합니다.

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

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

머리글

지원되는 값

Api-Key

뉴렐릭 . 쿼리를 통해 이를 보낼 수도 있습니다.

옵션 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로 전송되는 로그에 대한 제한 사항:

  • 페이로드 총 크기:

    1MB(10^6 bytes) maximum per POST

    . 압축을 사용하는 것이 좋습니다.

  • 페이로드는

    UTF-8

    으로 인코딩되어야 합니다.

  • 이벤트당 속성 수: 최대 255개.

  • 속성 이름 길이: 255자.

  • 속성 값의 길이: 처음 4,094자는 NRDB에 message 과 같은 이름이 같은 Log 이벤트 필드로 저장됩니다. 문자열 값이 4,094자를 초과하면 긴 문자열을 blob 으로 저장합니다.

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

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

중요

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,
"service-name": "login-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 메시지 예:

bash
$
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_OR_IS08601_FORMAT>,
$
"message": "User 'xyz' logged in"
$
},{
$
"timestamp": <TIMESTAMP_IN_UNIX_EPOCH_OR_IS08601_FORMAT>,
$
"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 요청의 예입니다.

bash
$
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_OR_IS08601_FORMAT>,
$
"message": "User 'xyz' logged in",
$
"logtype": "accesslogs",
$
"service": "login-service",
$
"hostname": "login.example.com"
$
}

다음은 뭐지?

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

Copyright © 2024 New Relic Inc.

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