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

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

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

문제 신고

NRQL로 마이그레이션

앱의 측정항목 이름 나열

애플리케이션에 사용할 수 있는 메트릭 이름을 보려면 다음을 수행하십시오.

SELECT uniques(metricTimesliceName) FROM Metric WHERE appId = '$APP_ID' AND newrelic.timeslice.value IS NOT NULL SINCE 30 MINUTES AGO LIMIT MAX

애플리케이션 이름을 사용해서 필터링할 수도 있습니다.

SELECT uniques(metricTimesliceName) FROM Metric WHERE appName = '$APP_NAME' AND newrelic.timeslice.value IS NOT NULL SINCE 30 MINUTES AGO LIMIT MAX

또는 특정 에이전트(호스트)를 사용하는 경우:

SELECT uniques(metricTimesliceName) FROM Metric WHERE realAgentId = '$AGENT_ID' AND newrelic.timeslice.value IS NOT NULL SINCE 30 MINUTES AGO LIMIT MAX

앱의 메트릭 타임슬라이스 데이터 값 가져오기

REST API v2는 지표 이름 목록과 지표 타임슬라이스 데이터를 가져오는 값 목록을 허용합니다.

메트릭 이름은 동일하므로 NRQL 쿼리의 metricTimesliceName 필드로 필터링할 수 있습니다.

각 API 값은 NRQL 함수에 매핑될 수 있습니다. 아래 표를 참조하세요.

예를 들어 다음 API 요청에 대해:

bash
$
curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \
>
-H "X-Api-Key:${API_KEY}" -i \
>
-d 'names[]=HttpDispatcher&values[]=average_call_time&values[]=call_count'

다음 쿼리를 사용하면 됩니다.

SELECT COUNT(newrelic.timeslice.value) AS call_count, average(newrelic.timeslice.value) * 1000 AS average_call_time
FROM Metric
WHERE appId = $APP_ID AND metricTimesliceName = 'HttpDispatcher'

| 값(RPM) | NRQL 함수 | | -------------------------- | ----------------------------------------------------------------------------------------------------------- | | 평균_응답_시간 | 평균(newrelic.timeslice.value) * 1000 | | 분당 통화 | 비율(newrelic.timeslice.value의 개수), 1분) | | 통화 횟수 | newrelic.timeslice.value의 개수 | | 최소_응답_시간 | 최소(newrelic.timeslice.value) * 1000 | | 최대_응답_시간 | 최대(newrelic.timeslice.value) * 1000 | | 평균_독점_시간 | 평균(newrelic.timeslice.value['totalExclusive'] / newrelic.timeslice.value['개수']) * 1000 | | 평균값 | 평균(newrelic.timeslice.value) | | 분당 총 통화 시간 | 비율(newrelic.timeslice.value 합계), 1분) | | 분당 요청 수 | 비율(newrelic.timeslice.value 개수), 1분) | | 표준 편차 | stddev(newrelic.timeslice.value) * 1000 | | 평균_시간 | 평균(newrelic.timeslice.value) * 1000 | | 개수 | 개수(newrelic.timeslice.value) | | 호스트별 사용 바이트 | 평균(newrelic.timeslice.value) * 1024 * 1024 | | 호스트별_사용된_mb | 평균(newrelic.timeslice.value) | | 총_사용_MB | 합계(newrelic.timeslice.value) | | 평균_통화_시간 | 평균(newrelic.timeslice.value) * 1000 | | 총_값 | 합계(newrelic.timeslice.value) | | 최소값 | 최소값(newrelic.timeslice.value) | | 최대값 | 최대(newrelic.timeslice.value) | | 비율 | 비율(newrelic.timeslice.value 합계), 1초) | | 처리량 | 비율(newrelic.timeslice.value 개수), 1초) | | as_percentage | 평균(newrelic.timeslice.value) * 100 | | 오류율(count(newrelic.timeslice.value), 1분) | | 오류_카운트 | count(newrelic.timeslice.value) | | 총 시간 | 합계(newrelic.timeslice.value) * 1000 | | 활성 세션 | 평균(newrelic.timeslice.value) | | 총 방문수 | 합계(newrelic.timeslice.value) | | 퍼센트 | 평균(newrelic.timeslice.value) * 100 | | 퍼센트(CPU/User Time) | 100 * sum(newrelic.timeslice.value) / $TIME_WINDOW_IN_SECONDS | | 시간 백분율 | 100 * 합계(newrelic.timeslice.value) / $TIME_WINDOW_IN_SECONDS | | 활용도 | 100 * sum(newrelic.timeslice.value) / $TIME_WINDOW_IN_SECONDS | | 방문_백분율 | 100 * sum(newrelic.timeslice.value) / $TIME_WINDOW_IN_SECONDS |

함수에 $TIME_WINDOW_IN_SECONDS 포함되어 있는 경우 이를 쿼리하려는 시간 창으로 바꿔야 함을 의미합니다.

예를 들어, 30분 시간 창을 쿼리하는 경우 $TIME_WINDOW_IN_SECONDS 1800 로 바꿔야 합니다.

Apdex 메트릭

| 값(RPM) | NRQL 함수 | | ------------- | -------------------------------------------------------------------------------------------- | | 점수 | apdex(newrelic.timeslice.value) | | s | apdex(newrelic.timeslice.value) 또는 count(newrelic.timeslice.value) | | t | apdex(newrelic.timeslice.value) 또는 sum(newrelic.timeslice.value) | | f | apdex(newrelic.timeslice.value) 또는 sum(newrelic.timeslice.value['totalExclusive']) | | 카운트 | apdex(newrelic.timeslice.value) | | 값 | apdex(newrelic.timeslice.value) | | 해리값, 경계 | 최대(newrelic.timeslice.value) | | 레버값, | 최소(newrelic.timeslice.value) |

최종 사용자 및 모바일 사용자

이러한 지표는 REST API v2에서 얻을 수 있는 것과 동일한 결과를 반환하지만, 일부 결과는 뉴렐릭 UI 에서 보는 것과 다를 수 있습니다. 이는 UI가 타임슬라이스 데이터 대신 이벤트를 사용하기 때문입니다. UI와 동일한 결과를 얻으려면 이벤트를 직접 쿼리해야 합니다.

| 값(RPM) | NRQL 함수 | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | 평균_응답_시간 | 합계(newrelic.timeslice.value) / count(newrelic.timeslice.value) * 1000 | | 오류 비율 | (필터(count(newrelic.timeslice.value), WHERE metricTimesliceName = '최종 사용자/오류') / 필터(count(newrelic.timeslice.value), WHERE metricTimesliceName = '브라우저')) | | 평균_fe_응답_시간 | 합계(newrelic.timeslice.value['totalExclusive']) / count(newrelic.timeslice.value) * 1000 | | 평균_응답_시간 | 1000 * (합계(newrelic.타임슬라이스.값) - 합계(newrelic.타임슬라이스.값['_배타적'])) / count(newrelic.timeslice.value) | | 평균_네트워크_시간 | (합계(newrelic.타임슬라이스.값) - 합계(newrelic.타임슬라이스.값['총제외']) - 합계(newrelic.타임슬라이스.값['제곱합계'])) / count(newrelic.timeslice.value) | | 총 네트워크 시간 | (newrelic.타임슬라이스.값의 합계 - newrelic.타임슬라이스.값['총배타적']의 합계) - newrelic.타임슬라이스.값['제곱합계']의 합계)) | | 네트워크_시간_백분율 | (newrelic.타임슬라이스.값의 합계 - newrelic.타임슬라이스.값['총제외']의 합계) - newrelic.타임슬라이스.값['제곱합계']의 합계)) / $TIME_WINDOW_IN_SECONDS | | 총_독점_시간 | 합계(newrelic.timeslice.value['totalExclusive']) | | fe_time_percentage | 100 * 합계(newrelic.timeslice.value['totalExclusive']) / $TIME_WINDOW_IN_SECONDS | | 평균_dom_콘텐츠_로드_시간 | 평균(newrelic.timeslice.value) * 1000 | | 평균_대기열_시간 | 평균(newrelic.timeslice.value['totalExclusive']) * 1000 | | 총 대기열 시간 | 합계(newrelic.timeslice.value['totalExclusive']) * 1000 | | 총_도메인_콘텐츠_시간 | 합계(newrelic.timeslice.value) * 1000 | | 총 앱 시간 | 합계(newrelic.timeslice.value['sumOfSquares']) | | 평균 앱 시간 | 합계(newrelic.timeslice.value['sumOfSquares']) / count(newrelic.timeslice.value) | | 평균_전송_바이트 | 합계(newrelic.timeslice.value['totalExclusive']) * 1000 | | 평균 수신 바이트 | 1000 * sum(newrelic.timeslice.value) / count(newrelic.timeslice.value) | | 출시 횟수 | 횟수(newrelic.timeslice.value) |

시계열 및 요약

기본적으로 REST API는 일련의 메트릭 데이터 값을 반환합니다. 이러한 값의 평균을 구하려면 API 호출에 &summarize=true 포함시킵니다.

NRQL에서는 그 반대입니다. 기본적으로 요약을 얻을 수 있으며, 쿼리에 TIMESERIES 추가하여 시계열을 얻을 수 있습니다.

또 다른 차이점은 REST API의 기본 시간 창이 30분인 반면 NRQL에서는 1시간이라는 것입니다.

여러 메트릭 쿼리

NRQL을 사용하면 여러 메트릭을 동시에 쿼리할 수 있습니다. 다음은 그 예입니다.

SELECT
FILTER(1000 * AVERAGE(newrelic.timeslice.value), WHERE metricTimesliceName = 'HttpDispatcher') as average_response_time,
FILTER(count(newrelic.timeslice.value), WHERE metricTimesliceName = 'Errors/all') as error_count,
FILTER(average(newrelic.timeslice.value), WHERE metricTimesliceName = 'Memory/Heap/Max') as used_mb_by_host
FROM Metric
WHERE appName = '$APP_NAME'
SINCE 1 day ago
Copyright © 2024 New Relic Inc.

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