APM은 지표 데이터를 지표 타임슬라이스 데이터 형식으로 보고하며, NRQL을 사용하여 이러한 유형의 데이터에 대한 쿼리 및 알림을 수행할 수 있습니다. 타임슬라이스 데이터를 탐색하려면 지표 탐색을 참조하세요.
메트릭 타임슬라이스 데이터를 쿼리하는 이유는 무엇입니까?
뉴렐릭은 여러 가지 방법으로 지표를 보고합니다. metric timeslice data 이라고 부르는 다양한 측정항목 데이터 중 하나입니다. 이는 APM, 및 브라우저에서 많은 차트를 생성하는 데 사용되는 데이터 유형입니다(자세한 내용은 지표 타임슬라이스 데이터 참조).
지표는 지표 타임슬라이스 데이터에서 더 자세한 차원 지표 데이터로 자동 변환되며, 이를 통해 NRQL 및 NerdGraph API를 통해 쿼리할 수 있습니다. 이 기능을 사용하면 이러한 중요한 APM 지표에 대한 강력하고 심층적인 사용자 정의 시각화를 만들 수 있습니다. 여기에는 맞춤 지표를 쿼리할 수 있는 기능도 포함됩니다.
중요
차원 메트릭 또는 이벤트 데이터와 함께 타임슬라이스 메트릭을 쿼리할 수 없습니다. newrelic.timeslice.value
또는 apm.*
측정항목과 관련된 모든 쿼리는 APM 측정항목만 반환할 수 있습니다.
문의처는?
쿼리 빌더 를 사용하여 APM 메트릭 타임슬라이스 데이터를 쿼리하는 것이 좋습니다. 이 경험은 완전한 NRQL 기능을 제공하고 쿼리 오류에 대한 유용한 자동 완성 제안 및 피드백도 제공합니다.
당신은 또한 수:
- NerdGraph(GraphQL) API 를 사용하여 NRQL 쿼리 만들기
- NRQL 경고 조건 을 사용하여 NRQL 쿼리에 대한 경고
쿼리를 구성하는 방법
APM에서 일부 차트에는 해당 차트를 생성한 NRQL 쿼리를 볼 수 있는 옵션이 있습니다. 이는 지표를 쿼리하는 방법을 이해하기 위한 좋은 출발점입니다. 아래 NRQL 쿼리는 요약 페이지의 오류율 차트에서 약간 수정되었습니다.
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
다음은 이 쿼리의 일부가 작동하는 방식에 대한 분석입니다.
쿼리 세그먼트 | 그것은 무엇을합니까? |
---|---|
|
|
| 이 수학은 총 트랜잭션 메트릭 수에서 오류 수를 생성합니다. 이 쿼리는 변환된 메트릭 이름 을 사용합니다. 다른 집계 기능 을 사용할 수 있습니다. |
| 하나 이상의 데이터 소스를 지정해야 합니다. 여기에 표시된 대로 단일 엔터티의 GUID를 선택하거나 여러 소스를 선택할 수 있습니다 . 이 쿼리는 |
| 트랜잭션 유형을 웹으로 설정합니다. 즉, 백그라운드/웹이 아닌 트랜잭션은 계산되지 않습니다. |
| 시간 범위 선택. |
| 이 선택적 절은 결과를 시간 기반 차트로 표시합니다. |
FROM
, FACET
및 TIMESERIES
를 포함한 NRQL 구문에 대한 일반 정보는 NRQL 소개를 참조하세요.
더 많은 쿼리는 쿼리 예제 를 참조하십시오.
메트릭 타임슬라이스 데이터가 변환되는 방식
원본 타임슬라이스 지표를 쿼리에 사용할 수 있는 차원 지표로 변환하는 작업은 진행 중인 프로세스이며 완료되지 않습니다. 이 섹션에서 찾고 있는 지표가 표시되지 않으면 일반 쿼리를 참조하세요.
원래 APM 타임슬라이스 지표가 차원 지표로 변환되는 방법은 다음과 같습니다.
메트릭 타임슬라이스 구조 | 차원 미터법 구조 |
---|---|
APM 메트릭 이름은 슬래시로 구분된 단일 세그먼트 문자열로 표시됩니다. 예를 들어 " |
이 메트릭에는 메트릭 이름, datastoreType, 테이블 및 작업으로 인코딩된 데이터 값을 나타내는 세 가지 속성이 있습니다.
|
차원 메트릭으로 사용할 수 있는 APM 메트릭 중 일부는 다음과 같습니다.
측정항목 이름 | 설명 | 속성 | 미터법 단위 |
---|---|---|---|
| 사용자 모드 코드에서 보낸 시간 | 백분율 | 백분율 |
| 테이블 작업으로 구분된 데이터베이스 호출에 대한 응답 시간 |
| 초 |
| 요약 오류 수 측정항목 |
| 세다 |
| 외부 호스트 이름으로 구분된 외부 호출에 대한 응답 시간 |
| 초 |
| 에이전트 인스턴스 수 | 세다 | |
| 프로세스 메모리(MB) | 메가바이트 | |
| 트랜잭션당 Apdex 점수 |
| 정점 |
| 트랜잭션당 응답 시간 |
| 초 |
| 트랜잭션당 오류 수 |
| 세다 |
| 트랜잭션 유형별 외부 호출 응답 시간 |
| 초 |
사용 가능한 모든 측정항목을 보는방법을 알아보세요. 주어진 메트릭 이름에 대한 메트릭 단위를 가져오려면 다음과 같은 쿼리를 사용할 수 있습니다.
FROM Metric SELECT unit WHERE appName = 'YOUR_APP_NAME' AND metricName = 'METRIC_NAME'
몇 가지 일반적인 예를 포함하여 메트릭 타임슬라이스 데이터의 일반적인 구조에 대한 자세한 내용은 메트릭 타임슬라이스 데이터 를 참조하세요.
속성
이러한 속성은 위의 지표 표에 나열된 지표별 속성 외에 사용할 수 있습니다.
이름 | 설명 |
---|---|
| 애플리케이션의 이름입니다. |
| 애플리케이션의 ID입니다. |
| 애플리케이션의 GUID입니다. |
| 모니터링되는 프로세스의 호스트입니다. |
| 사용 가능한 경우 호스트의 부팅 ID입니다. |
| 에이전트에 설정된 경우 호스트의 |
| Java 에이전트의 경우 |
| 차원 메트릭의 이름입니다. |
| 레거시 메트릭의 타임슬라이스 이름입니다. |
| (선택 사항) 이 메트릭이 "범위가 지정되는" 레거시 메트릭의 타임슬라이스 이름입니다. 범위가 있는 측정항목은 여기에 속합니다. 측정항목은 |
개요 측정항목
개요 메트릭을 사용하면 실행 중에 소요된 시간을 분석할 수 있습니다. 이러한 지표는 몇 가지 면에서 고유합니다.
- 그것들은 많은 타임슬라이스의 조합입니다.
average
집계 함수에서만 작동하도록 설계되었습니다.- 동시에 실행되는 코드는 결합된 실행 시간을 보여줍니다.
예를 들어 서비스가 각 스레드에 대해 평균 응답 시간이 0.1초인 3개의 동시 스레드에서 MySQL 데이터베이스를 호출하는 경우 MySQL 세그먼트는 0.3으로 표시됩니다.
다양한 목적을 위해 몇 가지 개요 메트릭이 제공됩니다.
측정항목 이름 | 설명 | 속성 |
---|---|---|
| 웹 트랜잭션을 위해 서비스의 다른 부분에서 소요된 시간 분석 |
|
| 백그라운드/비웹 트랜잭션에 대한 서비스의 다른 부분에서 소요된 시간 분석 |
|
| 특정 거래에 소요된 시간 분석 |
|
| 특정 주요 트랜잭션에 소요된 시간 분석 |
|
일반 쿼리 newrelic.timeslice.value
차원 측정항목으로 변환되지 않은 측정항목이나 사용자 지정 측정항목의 경우 newrelic.timeslice.value
이라는 차원 측정항목이 있습니다.
중요
가능하면 위 표의 차원 측정항목을 사용하는 것이 좋습니다.
사용 시기 newrelic.timeslice.value
메트릭 타임슬라이스 이름이 주어지면 다음 구문을 사용하여 변환된 차원 메트릭이 있는지 쿼리할 수 있습니다.
FROM MetricSELECT 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
와일드카드 메트릭 이름 세그먼트의 패싯
일부 지표 타임슬라이스 이름에는 속성 값이 메트릭 이름의 세그먼트로 포함됩니다. 예를 들어, 에이전트는 다음 형식을 사용하여 외부 통화 시간을 추적하여 지표를 보고합니다.
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
쿼리 예시
메트릭 타임슬라이스 데이터 쿼리의 몇 가지 예: