• 로그인지금 시작하세요

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

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

문제 신고

NRQL을 사용하여 APM 메트릭 타임슬라이스 데이터 쿼리

APM은 메트릭 타임슬라이스 데이터 형식으로 메트릭 데이터를 보고하며, NRQL 을 사용하여 이러한 유형의 데이터를 쿼리, 패싯 및 경고할 수 있습니다. 데이터 탐색기에서 타임슬라이스 데이터를 탐색하려면 메트릭 탐색 을 참조하십시오.

메트릭 타임슬라이스 데이터를 쿼리하는 이유는 무엇입니까?

여러 가지 방법으로 측정항목을 보고합니다. 우리가 메트릭 타임슬라이스 데이터라고 부르는 다양한 메트릭 데이터 ; 이것은 APM, 모바일 및 브라우저에서 많은 차트를 생성하는 데 사용되는 데이터 유형입니다(자세한 내용은 메트릭 타임슬라이스 데이터 참조).

역사적으로 이러한 유형의 데이터는 쿼리 언어인 NRQL을 통해 쿼리할 수 없었습니다. 그러나 이제 우리는 인기 있는 APM 메트릭을 메트릭 타임슬라이스 데이터에서 보다 자세한 차원 메트릭 데이터로 변환하고 있습니다. 그러면 NRQL 및 NerdGraph API 를 통해 쿼리할 수 있습니다. 이 기능을 사용하면 이러한 중요한 APM 메트릭의 강력하고 심층적인 사용자 지정 시각화를 생성할 수 있습니다. 여기에는 맞춤 측정항목 을 쿼리할 수 있는 기능도 포함됩니다.

중요

차원 메트릭 또는 이벤트 데이터와 함께 타임슬라이스 메트릭을 쿼리할 수 없습니다. newrelic.timeslice.value 또는 apm.* 측정항목과 관련된 모든 쿼리는 APM 측정항목만 반환할 수 있습니다.

문의처는?

쿼리 빌더 를 사용하여 APM 메트릭 타임슬라이스 데이터를 쿼리하는 것이 좋습니다. 이 경험은 완전한 NRQL 기능을 제공하고 쿼리 오류에 대한 유용한 자동 완성 제안 및 피드백도 제공합니다.

당신은 또한 수:

쿼리를 구성하는 방법

APM에서 일부 차트에는 해당 차트를 생성한 NRQL 쿼리를 볼 수 있는 옵션이 있습니다. 이것은 메트릭을 쿼리하는 방법을 이해하는 데 좋은 옵션이 될 수 있습니다. 아래에서 조사한 NRQL 쿼리는 APM 요약 페이지의 오류율 차트에서 약간 수정되었습니다.

FROM Metric
  SELECT count(apm.service.error.count) / count(apm.service.transaction.duration)
  WHERE (entity.guid = 'AN_ENTITY_GUID')
  AND (transactionType = 'Web')
  SINCE 1 day ago TIMESERIES

다음은 이 쿼리의 일부가 작동하는 방식에 대한 분석입니다.

쿼리 세그먼트

그것은 무엇을합니까?

FROM Metric

Metric 는 핵심 데이터 유형 중 하나이며 메트릭 타임슬라이스 데이터는 이 데이터 유형으로 저장됩니다. Metric 데이터 쿼리에 대한 일반적인 팁은 측정항목 쿼리 예 를 참조하세요.

SELECT count(apm.service.error.count) / count(apm.service.transaction.duration)

이 수학은 총 트랜잭션 메트릭 수에서 오류 수를 생성합니다. 이 쿼리는 변환된 메트릭 이름 을 사용합니다.

다른 집계 기능 을 사용할 수 있습니다.

WHERE (entity.guid = 'AN_ENTITY_GUID')

하나 이상의 데이터 소스를 지정해야 합니다. 여기에 표시된 대로 단일 엔터티의 GUID를 선택하거나 여러 소스를 선택할 수 있습니다 . 이 쿼리는 entity.guid 을 사용하지만 appId 또는 appName 를 사용할 수도 있습니다.

AND (transactionType = 'Web')

트랜잭션 유형을 웹으로 설정합니다. 즉, 백그라운드/웹이 아닌 트랜잭션은 계산되지 않습니다.

SINCE 1 day ago

시간 범위 선택.

TIMESERIES

이 선택적 절은 결과를 시간 기반 차트로 표시합니다.

FROM , FACETTIMESERIES 를 포함한 NRQL 구문에 대한 일반 정보는 NRQL 소개를 참조하세요.

더 많은 쿼리는 쿼리 예제 를 참조하십시오.

메트릭 타임슬라이스 데이터가 변환되는 방식

원래 APM 메트릭 타임슬라이스 메트릭을 쿼리에 사용할 수 있는 차원 메트릭으로 변환하는 것은 진행 중인 프로세스이며 완료되지 않았습니다. 이 섹션에서 찾고 있는 측정항목이 표시되지 않으면 일반 쿼리 를 참조하세요.

원래 APM 메트릭 타임슬라이스 메트릭이 차원 메트릭으로 변환되는 방법은 다음과 같습니다.

메트릭 타임슬라이스 구조

차원 미터법 구조

APM 메트릭 이름은 슬래시로 구분된 단일 세그먼트 문자열로 표시됩니다.

예를 들어 " Datastore/statement/MySQL/users/select " 측정항목은 users 테이블에서 데이터베이스 선택 작업에 소요된 시간을 나타냅니다.

apm.service.datastore.operation.duration 이라는 단일 차원 측정항목은 데이터 저장소 측정항목의 전체 그룹을 나타냅니다.

이 메트릭에는 메트릭 이름, datastoreType, 테이블 및 작업으로 인코딩된 데이터 값을 나타내는 세 가지 속성이 있습니다.

datastoreType = ‘MySQL’

table = ‘users’

operation = ‘select’

차원 메트릭으로 사용할 수 있는 APM 메트릭 중 일부는 다음과 같습니다.

측정항목 이름

설명

속성

apm.service.cpu.usertime.utilization

사용자 모드 코드에서 보낸 시간

백분율

apm.service.datastore.operation.duration

테이블 작업으로 구분된 데이터베이스 호출에 대한 응답 시간

datastoreType, table , operation

apm.service.error.count

요약 오류 수 측정항목

transactionType

apm.service.external.host.duration

외부 호스트 이름으로 구분된 외부 호출에 대한 응답 시간

external.host

apm.service.instance.count

에이전트 인스턴스 수

apm.service.memory.physical

프로세스 메모리(MB)

apm.service.transaction.apdex

트랜잭션당 Apdex 점수

transactionName, transactionType

apm.service.transaction.duration

트랜잭션당 응답 시간

keyTransactionName, transactionName , transactionType

apm.service.transaction.error.count

트랜잭션당 오류 수

keyTransactionName, transactionName , transactionType

apm.service.transaction.external.duration

트랜잭션 유형별 외부 호출 응답 시간

transactionType

사용 가능한 모든 측정항목을 확인 하는 방법을 알아보세요.

몇 가지 일반적인 예를 포함하여 메트릭 타임슬라이스 데이터의 일반적인 구조에 대한 자세한 내용은 메트릭 타임슬라이스 데이터 를 참조하세요.

속성

이러한 속성은 위의 APM 메트릭 테이블에 나열된 메트릭별 속성과 함께 사용할 수 있습니다.

이름

설명

appName

애플리케이션의 이름입니다.

appId

애플리케이션의 ID입니다.

entity.guid

애플리케이션의 GUID입니다.

host

모니터링되는 프로세스의 호스트입니다.

host.bootId

사용 가능한 경우 호스트의 부팅 ID입니다.

host.displayName

에이전트에 설정된 경우 호스트의 display_name .

instanceName

Java APM 에이전트의 경우 host : port

metricName

차원 메트릭의 이름입니다.

metricTimesliceName

레거시 메트릭의 타임슬라이스 이름입니다.

scope

(선택 사항) 이 메트릭이 "범위가 지정되는" 레거시 메트릭의 타임슬라이스 이름입니다. 범위가 있는 측정항목은 여기에 속합니다. 측정항목은 scope 속성에 명명된 측정항목의 컨텍스트에 적용됩니다. 예는 아래를 참조하십시오.

newrelic.timeslice.value 측정항목이 있는 일반 쿼리

차원 측정항목으로 변환되지 않은 측정항목이나 사용자 지정 측정항목의 경우 newrelic.timeslice.value 이라는 차원 측정항목이 있습니다.

중요

가능하면 위 표의 차원 측정항목을 사용하는 것이 좋습니다.

언제 newrelic.timeslice.value 을(를) 사용합니까?

메트릭 타임슬라이스 이름이 주어지면 다음 구문을 사용하여 변환된 차원 메트릭이 있는지 쿼리할 수 있습니다.

FROM Metric
SELECT uniques(metricName)
WHERE metricTimesliceName = 'Datastore/statement/MySQL/test/select'

반환된 유일한 측정항목 이름이 newrelic.timeslice.value 인 경우 이 일반적인 접근 방식을 사용하여 데이터를 쿼리해야 합니다.

사용 가능한 측정항목 가져오기

애플리케이션에 사용 가능한 메트릭 목록을 가져오려면 다음과 같은 쿼리를 사용할 수 있습니다.

SELECT uniques(metricTimesliceName) 
FROM Metric WHERE appName='YOUR_APP_NAME' 
AND newrelic.timeslice.value IS NOT NULL

와일드카드 메트릭 이름 세그먼트의 패싯

일부 메트릭 타임슬라이스 이름에는 메트릭 이름의 세그먼트로 속성 값이 포함됩니다. 예를 들어 APM 에이전트는 다음 형식을 사용하여 외부 통화 기간을 추적하여 지표를 보고합니다.

External/{externalHost}/all

여기서 {externalHost} 은 아웃바운드 네트워크 호출에 대한 호스트 이름을 나타냅니다.

다음은 와일드카드 측정항목 세그먼트를 패싯하는 맞춤 측정항목의 일반 newrelic.timeslice.value 쿼리 예입니다.

FROM Metric SELECT count(newrelic.timeslice.value)
WHERE appName = 'MY APP'
WITH METRIC_FORMAT 'Custom/Labels/{action}'
TIMESERIES FACET action

이 쿼리에서 {action} 은 임시 속성 action 을 생성한 다음 FACET action 에서 사용합니다. 쿼리 기간 동안 존재하는 속성일 뿐이므로 원하는 이름을 사용할 수 있습니다. 기존 속성 이름과 충돌하지 않는 이름을 선택해야 합니다.

권장 집계 기능

권장되는 NRQL 집계 기능 은 다음과 같습니다.

  • apdex
  • average
  • sum
  • count
  • rate
  • uniques

쿼리 예시

메트릭 타임슬라이스 데이터 쿼리의 몇 가지 예:

Copyright © 2022 New Relic Inc.