• 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

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

문제 신고

기록 데이터 내보내기: 더 큰 NRQL 응답 반환

NRQL 쿼리 를 실행할 때 응답에서 반환되는 데이터 포인트 수에 대한 제한 및 쿼리 시간 초과와 같은 다양한 제한 에 의해 제한됩니다.우리의 기록 데이터 내보내기 기능은 응답에서 200,000,000개의 데이터 포인트를 반환하는 NRQL 쿼리를 실행하는 데 사용할 수 있으며(일반적인 2000개 제한 대신) 쿼리 시간 초과가 없습니다.결과는 하나 이상의 JSON 파일로 반환됩니다.

요구 사항

제한 및 제한 사항

기능에 대한 몇 가지 제한 사항은 다음과 같습니다.

사용 제한

내보내기에 대한 기본 사용 제한은 다음과 같습니다.

  • 내보내기는 2억 개 미만의 이벤트를 반환하는 것으로 추정되어야 합니다.
  • 수출은 50억 개 미만의 이벤트를 검사하는 것으로 추정되어야 합니다.
  • 계정당 최대 2개의 동시 내보내기

한도를 높이려면 계정 담당자에게 문의하세요.

데이터 유형 제한

일부 데이터 유형 은 내보낼 수 없습니다 .

  • 메트릭 타임슬라이스 데이터
  • 차원 측정항목( Metric 데이터 유형)
  • 인프라 이벤트 SystemSample , ProcessSample , StorageSample , NetworkSample , ContainerSample

시간 범위 제한

기록 데이터 내보내기 기능은 라이브 데이터 또는 이전 12시간 동안의 데이터 쿼리를 지원하지 않습니다.시간 범위는 과거 12시간 이상이어야 합니다.

쿼리 구문 요구 사항

이 기능은 특정 속성 이름과 와일드카드( SELECT * ) 선택을 지원합니다.예를 들어 다음과 같은 쿼리를 지원합니다.

SELECT * FROM MobileRequest SINCE 3 days ago until 2 days ago
WHERE appName = 'interesting-application' SINCE '2022-06-11 11:05:00-0600'
UNTIL '2022-06-11 11:10:00-0600'

다음 NRQL 구성 요소 는 사용할 수 없습니다 .

  • 집계 함수( sum , count , average , max )
  • 평가 가능한 함수( numeric , log , concat )
  • FACET
  • TIMESERIES
  • COMPARE WITH
  • 중첩 집계

엔드포인트 세부정보

기록 데이터 내보내기 기능은 NerdGraph API를 사용하고 세 가지 끝점을 사용합니다.

  • 엔드포인트 생성 을 통해 사용자는 내보내기로 실행하려는 계정 ID와 NRQL을 지정할 수 있습니다.
  • 내보내기 엔드포인트에 대한 세부 정보 가져오기를 통해 사용자는 계정 ID 및 내보내기 ID(엔드포인트 생성의 응답 본문에 있음)를 지정하고 이를 사용하여 내보내기 상태를 검색할 수 있습니다.내보내기가 완료되면 이 끝점의 응답에서 하나 이상의 다운로드 URL 형식으로 결과를 찾을 수 있습니다.
  • 계정 내보내기 엔드포인트에 대한 세부 정보 가져오기를 통해 사용자는 계정 ID를 지정하고 해당 계정의 만료되지 않은 모든 활성 내보내기에 대한 세부 정보를 검색할 수 있습니다.

쿼리 예시

내보내기 만들기

NerdGraph를 사용하는 한 가지 방법은 NerdGraph 탐색기 를 사용하는 것입니다.이 섹션의 지침은 탐색기 사용에 중점을 둡니다.자신의 스크립트를 실행하는 데 관심이 있는 경우 스크립트 를 참조하십시오.

NerdGraph 스키마에서 historicalDataExportCreateExport 엔드포인트는 mutation > historicalDataExport 에서 찾을 수 있습니다.내보내기를 실행하려면 아래와 같은 쿼리를 사용하세요.

내보내기에 대한 세부 정보를 가져오고 결과를 검색하는 데 사용되므로 응답 본문에 대한 ID를 선택하는 것이 좋습니다.

mutation {
  historicalDataExportCreateExport(accountId: YOUR_ACCOUNT_ID, nrql: "FROM Transaction SELECT duration, appId WHERE appName = 'interesting-application' SINCE '2022-06-11 11:05:00-0600' UNTIL '2022-06-11 11:10:00-0600'") {
    percentComplete
    nrql
    status
    id
    message
  }
}

#### Example response [#create-export-response]

Here's an example response for creating an export: 
{
  "data": {
    "historicalDataExportCreateExport": {
      "id": "609b6916-8ca9-417c-bbf8-02e4cdc3afd2",
      "message": null,
      "nrql": "FROM Transaction SELECT duration, appId WHERE appName = 'interesting-application' SINCE '2022-06-11 11:05:00-0600' UNTIL '2022-06-11 11:10:00-0600'",
      "percentComplete": 5,
      "status": "WAITING"
    }
  }
}

내보내기 취소

NerdGraph 스키마에서 historicalDataExportCancelExport 엔드포인트는 mutation > historicalDataExport 에서 찾을 수 있습니다.내보내기를 실행하려면 아래와 같은 쿼리를 사용하세요.

내보내기가 성공적으로 취소되었는지 확인하려면 응답 본문에서 상태를 선택하는 것이 좋습니다.

mutation {
  historicalDataExportCancelExport(accountId: YOUR_ACCOUNT_ID, id: "YOUR_EXPORT_ID") {
    status
    id
  }
}

예시 응답

다음은 내보내기 취소에 대한 응답의 예입니다.

{
  "data": {
    "historicalDataExportCancelExport": {
      "id": "YOUR_EXPORT_ID",
      "status": "CANCELED"
    }
  }
}

특정 내보내기에 대한 세부정보 가져오기

아래와 같이 엔드포인트 생성의 응답에서 찾은 내보내기 ID를 사용하여 내보내기 세부 정보를 쿼리합니다.이 엔드포인트는 query > actor > account > historicalDataExport > export 아래 NerdGraph에서 찾을 수 있습니다.

{
  actor {
    account(id: YOUR_ACCOUNT_ID) {
      historicalDataExport {
        export(id: "YOUR_EXPORT_ID") {
          availableUntil
          eventCount
          eventTypes
          id
          message
          nrql
          percentComplete
          results
          status
        }
      }
    }
  }
}

예시 응답

다음은 특정 내보내기에 대한 세부정보를 가져오는 데 대한 응답입니다.

{
"data": {
"actor": {
"account": {
"historicalDataExport": {
"export": {
"availableUntil": 1655499642845,
"eventCount": 1291,
"eventTypes": [
"MobileRequest"
],
"id": "4776677a-1e0f-4ad5-a790-cdbe40a1f348",
"message": null,
"nrql": "SELECT * FROM MobileRequest SINCE 3 days ago UNTIL 2 days ago",
"percentComplete": 100,
"results": [
"downloadLink1",
"downloadLink2"
],
"status": "COMPLETE_SUCCESS"
}
}
}
}
}
}

계정에 대한 수출 세부정보 가져오기

아래와 같이 계정 ID를 사용하여 해당 계정의 모든 내보내기에 대한 세부 정보를 가져올 수 있습니다.엔드포인트는 query > actor > account > historicalDataExport > exports 아래의 NerdGraph 스키마에서 찾을 수 있습니다.

{
  actor {
    account(id: YOUR_ACCOUNT_ID) {
      historicalDataExport {
        exports {
          availableUntil
          eventCount
          eventTypes
          id
          message
          nrql
          percentComplete
          results
          status
        }
      }
    }
  }
}

예시 응답

다음은 계정에 대한 내보내기 세부정보를 가져오기 위한 예시 응답입니다.

{
"data": {
"actor": {
"account": {
"historicalDataExport": {
"exports": [
{
"availableUntil": 1655499642845,
"eventCount": 1291,
"eventTypes": [
"MobileRequest"
],
"id": "4776677a-1e0f-4ad5-a790-cdbe40a1f348",
"message": null,
"nrql": "SELECT * FROM MobileRequest SINCE 3 days ago UNTIL 2 days ago",
"percentComplete": 100,
"results": [
"downloadLink1",
"downloadLink2"
],
"status": "COMPLETE_SUCCESS"
}
]
}
}
}
}
}

스크립트 사용

스크립트에서 프로그래밍 방식으로 히스토리 데이터 내보내기를 쿼리하는 것이 유용할 수 있습니다.다음 curl 명령은 시작하는 데 유용할 수 있습니다.응답 예제는 예제 쿼리 섹션의 응답을 참조하세요.

내보내기 만들기

curl --location --request POST 'https://api.newrelic.com/graphql' \
--header 'Content-Type: application/json' \
--header 'API-Key: YOUR_USER_KEY \
--data-raw '{"query":"mutation {\n  historicalDataExportCreateExport(accountId: YOUR_ACCOUNT_ID, nrql: "FROM Transaction SELECT duration, appId WHERE appName = 'interesting-application' SINCE '2022-06-11 11:05:00-0600' UNTIL '2022-06-11 11:10:00-0600'") {\n    percentComplete\n    nrql\n    status\n    message\n    id\n }","variables":{}}'

내보내기 취소

curl --location --request POST 'https://api.newrelic.com/graphql' \
--header 'Content-Type: application/json' \
--header 'API-Key: YOUR_USER_KEY \
--data-raw '{"query":"mutation {\n historicalDataExportCancelExport(accountId: YOUR_ACCOUNT_ID, id: "YOUR_EXPORT_ID") {\n status\n id\n }","variables":{}}'

수출 세부정보 얻기

curl --location --request POST 'https://api.newrelic.com/graphql' \
--header 'Content-Type: application/json' \
--header 'API-Key: YOUR_USER_KEY' \
--data-raw '{"query":"{\n  actor {\n    account(id: YOUR_ACCOUNT_ID) {\n      historicalDataExport {\n        export(id: \"YOUR_EXPORT_ID\") {\n          availableUntil\n          eventCount\n          eventTypes\n          id\n          message\n          nrql\n          percentComplete\n          results\n          status\n        }\n      }\n    }\n  }\n}","variables":{}}'

계정 내보내기에 대한 세부정보 가져오기

curl --location --request POST 'https://api.newrelic.com/graphql' \
--header 'Content-Type: application/json' \
--header 'API-Key: YOUR_USER_KEY' \
--data-raw '{"query":"{\n  actor {\n    account(id: YOUR_ACCOUNT_ID) {\n      historicalDataExport {\n        exports {\n          availableUntil\n          eventCount\n          eventTypes\n          id\n          message\n          nrql\n          percentComplete\n          results\n          status\n        }\n      }\n    }\n  }\n}\n","variables":{}}'

결과 형식 내보내기

쿼리 결과는 두 get details 엔드포인트 중 하나의 결과 필드에 있습니다.하나 이상의 다운로드 링크 형태입니다.결과 파일 자체는 내보내기가 실행된 후 일주일 동안 유효하며 약 100MB 이하의 GZIP 압축 JSON을 포함합니다.각 링크는 6시간 동안 유효하도록 미리 서명되어 있습니다.링크가 만료되면 결과에 대해 NerdGraph에서 내보내기 세부 정보 개체를 다시 쿼리하여 새 링크를 얻을 수 있습니다.

압축을 푼 결과 파일의 예는 다음과 같습니다.

[
{
"attributes": {
"duration": 36,
"eventType": "Transaction",
"account": ACCOUNTID,
"timestamp": 1655174793213
}
},
{
"attributes": {
"duration": 3,
"eventType": "MobileRequest",
"account": ACCOUNTID,
"timestamp": 1655174793215
}
}
]

수출 관련 이벤트 조회 및 알림

이 기능은 내보내기가 실행된 New Relic 계정에서 사용자 지정 이벤트를 생성합니다.계정에서 실행된 내보내기에 대한 정보를 얻기 위해 이러한 이벤트에 대한 경고를 쿼리하거나 생성하는 것이 유용할 수 있습니다.

HistoricalDataExport 이벤트 유형에는 내보내기 상태( Created , Completed , Failed , Canceled ), 내보내기 ID, 내보내기가 생성된 NRQL 문자열 등과 같은 정보가 포함됩니다.

쿼리 빌더 에서 실행하거나 대시보드에 추가할 수 있는 다음 쿼리는 지난 주에 생성된 모든 내보내기와 성공적으로 완료되고 오류가 없는 내보내기 수를 반환합니다.

FROM HistoricalDataExport SELECT * WHERE status = 'Created' SINCE 1 WEEK AGO
FROM HistoricalDataExport SELECT count(*) WHERE status != 'Completed' FACET status SINCE 1 WEEK AGO

문제점 해결

아직 활성화되지 않은 계정

내보내기를 만들려고 하면 다음과 같은 오류 메시지가 표시될 수 있습니다.

Cannot query field \"historicalDataExportCreateExport\" on type \"RootMutationType\".

이 메시지가 표시되면 내보내려는 계정에 대해 기록 데이터 내보내기 기능이 아직 활성화되지 않았음을 의미할 수 있습니다.질문이 있는 경우 요구 사항을 검토하고 계정 담당자에게 액세스 권한에 대해 문의하십시오.

미리 서명된 URL을 사용하여 결과를 다운로드하려고 하면 다음과 같은 오류가 표시될 수 있습니다.

<Error>
<Code>AccessDenied</Code>
<Message>Request has expired</Message>
<X-Amz-Expires>120</X-Amz-Expires>
<Expires>2022-06-24T15:16:45Z</Expires>
<ServerTime>2022-06-24T17:56:40Z</ServerTime>
<RequestId>1234567890ABC</RequestId>
<HostId>ABCD1234HOST-ID098765-XYZ</HostId>
</Error>

이와 같은 오류는 결과 URL이 만료되었으며 새 결과 URL에 대해 내보내기 개체를 다시 쿼리해야 함을 나타냅니다.내보내기를 다시 실행할 필요가 없으며 결과에 대한 새로운 URL 집합을 가져오기만 하면 됩니다.

Copyright © 2022 New Relic Inc.

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