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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

문제 신고

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

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

요구 사항

제한 및 제한 사항

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

사용 제한

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

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

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

데이터 유형 제한

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

시간 범위 제한

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

쿼리 구문 요구 사항

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

SELECT * FROM MobileRequest SINCE 3 days ago until 2 days ago
SELECT duration, appId FROM Transaction
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)는 WHERE에서만 지원됩니다.
  • FACET
  • TIMESERIES
  • COMPARE WITH
  • JOIN
  • 중첩 집계
  • 하위 쿼리
  • 변수 바인딩
  • 교차 계정 쿼리

엔드포인트 세부정보

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

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

쿼리 예시

내보내기 만들기

NerdGraph를 사용하는 한 가지 방법은 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
}
}

예시 응답

다음은 내보내기 생성에 대한 응답 예시입니다.

{
"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 명령은 시작하는 데 유용할 수 있습니다.응답 예제는 예제 쿼리 섹션의 응답을 참조하세요.

중요

백슬래시(\')를 사용하여 내보내기 NRQL 쿼리에서 작은따옴표(')의 모든 인스턴스를 이스케이프해야 합니다. 아래의 curl 명령은 ANSI-C 인용이 제공하는 기능인 --data-raw 인수의 선행 $ 에 의존합니다. 더 많은 정보는 공식 GNU 매뉴얼을 통해 얻을 수 있습니다.

내보내기 만들기

bash
$
curl --location --request POST 'https://api.newrelic.com/graphql' \
>
--header 'Content-Type: application/json' \
>
--header 'API-Key: $USER_API_KEY' \
>
--data-raw $'{"query":"mutation {historicalDataExportCreateExport(accountId: $ACCOUNT_ID, nrql: \\"$NRQL_QUERY_TO_EXPORT\\") {percentComplete nrql status message id}}","variables":{}}'

내보내기 취소

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

수출 세부정보 얻기

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

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

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

결과 형식 내보내기

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

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

[
{
"attributes": {
"duration": 36,
"eventType": "Transaction",
"accountId": YOUR_ACCOUNT_ID,
"timestamp": 1655174793213
}
},
{
"attributes": {
"duration": 3,
"eventType": "MobileRequest",
"accountId": YOUR_ACCOUNT_ID,
"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 © 2024 New Relic Inc.

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