골든 메트릭 및 골든 태그 는 해당 엔티티에 대해 가장 중요하다고 생각하는 엔티티 에 대한 정보입니다. 우리는 이 정보를 사용하여 모든 New Relic에서 엔티티에 대한 간략한 개요를 표시합니다. 이 공개 리포지토리 에서 골든 메트릭 및 태그의 표준 정의를 보고 기여할 수 있습니다.
이 문서는 NerdGraph 를 사용하여 엔티티의 커스텀 메트릭을 쿼리하는 방법을 설명합니다.
골든 메트릭 가져오기
특정 GUID 또는 GUIDS 목록에 대한 골든 메트릭을 가져올 때 제공된 쿼리는 이미 필터링되어 있습니다. 쿼리 작성기 에서와 같이 결과 쿼리를 실행할 수 있습니다. 결과 측정항목은 timeseries
또는 단일 값일 수 있습니다.
다음은 GUID가 ExampleGUID
인 AWS DynamoDB 테이블 항목에 대한 골든 메트릭 쿼리의 예입니다.
SELECT average(provider.getSuccessfulRequestLatency.Average)FROM DatastoreSampleWHERE entityGuid IN ('ExampleGUID') AND provider='DynamoDbTable'TIMESERIES
NerdGraph를 사용하여 특정 엔터티의 골든 메트릭을 쿼리할 수 있습니다. 예를 들어:
{
actor {
entity(guid: "ENTITY-GUID") {
goldenMetrics {
metrics {
query
title
}
}
}
}
}
황금 태그 가져오기
골든 태그는 GUID
에서 요청하든 entityType
에서 요청하든 항상 동일한 방식으로 표시됩니다. 엔티티에 대해 가장 중요한 것으로 간주되는 태그 키 목록을 항상 받게 됩니다.
{
actor {
entity(guid: "ENTITY-GUID") {
goldenTags {
tags {
key
}
}
}
}
}
골든 메트릭 및 골든 태그 사용자 정의
환경의 특성에 따라 골든 메트릭과 골든 태그를 변경하려는 경우 계정 또는 워크로드의 두 가지 컨텍스트에서 재정의할 수 있습니다.
전체 계정의 특정 엔터티 유형에 대한 골든 메트릭 또는 골든 태그 재정의
이 경우 새 골든 메트릭 또는 새 골든 태그가 모든 New Relic에 적용되어 새 메트릭과 태그를 지정된 엔터티 유형의 기본값으로 변환합니다.
이를 위해 NerdGraph 변형을 사용하여 특정 엔터티에 대한 골든 메트릭을 재정의할 수 있습니다.
mutation {
entityGoldenMetricsOverride(
context: {account: ACCOUNT_TO_OVERRIDE_GOLDEN METRICS},
domainType: {domain: DOMAIN, type: TYPE},
metrics: [
{eventId: EVENT_ID,
select: NRDB_QUERY_SELECT,
from: NRDB_QUERY_EVENT,
where: NRDB_QUERY_WHERE,
title: TITLE_OF_THE_METRIC,
facet: FACET,
name: NAME_OF_THE_METRIC},
...]) {
errors {
message
type
}
metrics {
context {
account
guid
}
domainType {
domain
type
}
metrics {
definition {
eventId
facet
from
select
where
}
name
query
title
}
}
}
}
어디에:
domainType
: 재정의할 메트릭의 엔터티 유형입니다.context
: 골든 메트릭을 가져올 컨텍스트입니다. 이 경우 재정의할 계정을 설정해야 합니다.metrics
: 새 NRDB 쿼리는 골든 메트릭으로 표시됩니다.eventId
: 메트릭의 엔터티를 필터링하는 데 사용되는 필드입니다. 이벤트에서 엔터티 GUID 를 정의하는 방법입니다.select
: NRDB 쿼리의SELECT
절입니다. 이 필드는 필수 입니다.from
: NRDB 쿼리의FROM
절입니다.where
: 엔티티 유형 필드를 식별하기 위한 보완적인 where 절.facet
:FACET
에 대한 필드입니다.title
: 골든 메트릭의 제목입니다. 이 필드는 선택 사항입니다.name
: 골든 메트릭의 이름입니다. 이 필드는 필수 입니다.
메트릭 입력 개체는 섹션으로 분할된 NRDB 쿼리의 부분을 정의합니다. 이러한 섹션 중 하나는 골든 메트릭으로 사용하려는 NRDB 이벤트 내부의 GUID를 정의하는 필드를 식별하는 데 사용되는 eventId,
입니다. 예를 들어:
SELECT average(provider.getSuccessfulRequestLatency.Average)FROM DatastoreSampleWHERE entityGuid IN ('EntityGuid') AND provider='DynamoDbTable'FACET entityName TIMESERIES
다음과 같이 정의됩니다.
{ eventId: "entityGuid", from: "DatastoreSample", where: "provider='DynamoDbTable'", facet: "entityName", select: "average(provider.getSuccessfulRequestLatency.Average)", name: GetItem latency (ms), title: GetItem latency (ms)}
결과 개체에서 볼 수 있듯이 where
절에는 공급자 필드만 포함됩니다. 시스템은 기본적으로 eventId
필드와 함께 where 절을 추가합니다.
이 NerdGraph 변형을 사용하여 골든 태그에 대해 동일한 작업을 수행할 수 있습니다.
mutation {
entityGoldenTagsOverride(
context: {account: ACCOUNT_ID},
domainType: {domain: "APM", type: "APPLICATION"},
tags: [{key: "applicationName"} , {key: "environment"} ]) {
errors {
message
type
}
tags {
context {
account
}
domainType {
domain
type
}
tags {
key
}
}
}
}
워크로드의 특정 엔터티 유형에서 골든 메트릭 재정의
New Relic의 워크로드 는 엔터티 그룹에 대한 상태 및 성능 데이터의 집계 보기를 제공합니다. 워크로드의 각 엔터티 유형에 대해 표시되는 시계열 차트는 워크로드 계정의 골든 메트릭으로 정의됩니다.
특정 워크로드의 특정 엔터티 유형에 대해 표시할 시계열을 추가로 사용자 지정하려면 다음 변형을 사용하여 계정의 골든 메트릭을 재정의하십시오.
mutation {
entityGoldenMetricsOverride(
context: {guid: WORKLOAD_TO_OVERRIDE_GOLDEN METRICS},
domainType: {domain: DOMAIN, type: TYPE},
metrics: [
{eventId: EVENT_ID,
select: NRDB_QUERY_SELECT,
from: NRDB_QUERY_EVENT,
where: NRDB_QUERY_WHERE,
title: TITLE_OF_THE_METRIC,
facet: FACET,
name: NAME_OF_THE_METRIC},
...]) {
errors {
message
type
}
metrics {
context {
account
guid
}
domainType {
domain
type
}
metrics {
definition {
eventId
facet
from
select
where
}
name
query
title
}
}
}
}
각 필드에 대한 자세한 내용은 위를 참조하십시오. 이 경우 context
은 워크로드의 GUID입니다.
사용자 지정 골든 메트릭 및 골든 태그 가져오기
이전 섹션에서 정의한 쿼리는 항상 기본 골든 메트릭과 골든 태그를 반환합니다. 사용자 지정 골든 메트릭 또는 골든 태그를 가져오려면 쿼리에 정의된 컨텍스트를 보내야 합니다. 예를 들면 다음과 같습니다.
{
actor {
entity(guid: INFRA-AWSDYNAMODBTABLE-GUID) {
goldenMetrics(
context: {account: ACCOUNT_ID,
guid: WORKLOAD_ENTITY_GUID}) {
metrics {
title
query
name
}
}
}
}
}
골든 태그의 경우:
{
actor {
entity(guid: INFRA-AWSDYNAMODBTABLE-GUID) {
goldenTags(context: {account: ACCOUNT_ID, guid: WORKLOAD_ENTITY_GUID}) {
tags {
key
}
}
}
}
}
메트릭 또는 태그에 워크로드 내 컨텍스트가 있는 경우 쿼리를 위해 두 컨텍스트를 동시에 보낼 수 있습니다. API는 요청에 정의한 컨텍스트를 기반으로 가장 구체적인 골든 메트릭 또는 골든 태그를 반환합니다. 우선 순위는 작업량과 계정입니다.
사용자 정의 측정항목 및 골든 태그 재설정
사용자 지정 골든 메트릭이 더 이상 관련이 없으면 New Relic에서 정의한 기본값을 복원할 수 있습니다. 컨텍스트 매개변수에서 원하는 계정 또는 워크로드 guid(guid 매개변수에서)를 설정합니다.
계정에서 골든 메트릭을 복원하려면 다음 쿼리를 실행하십시오.
mutation {
entityGoldenMetricsReset(
context: {guid: ACCOUNT_TO_OVERRIDE_GOLDEN_METRICS},
domainType: {domain: DOMAIN, type: TYPE}) {
errors {
message
type
}
metrics {
context {
account
guid
}
domainType {
domain
type
}
metrics {
definition {
eventId
facet
from
select
where
}
name
query
title
}
}
}
}
어디에:
domainType
: 재정의할 메트릭의 엔터티 유형입니다.context
: 골든 메트릭을 가져올 컨텍스트입니다. 이 경우 재설정하려는 계정을 설정해야 합니다.
워크로드에서 골든 메트릭을 복원하려면 다음 쿼리를 실행하십시오.
mutation {
entityGoldenMetricsReset(
context: {guid: GUID_TO_OVERRIDE_GOLDEN_METRICS},
domainType: {domain: DOMAIN, type: TYPE}) {
errors {
message
type
}
metrics {
context {
account
guid
}
domainType {
domain
type
}
metrics {
definition {
eventId
facet
from
select
where
}
name
query
title
}
}
}
}
사용자 지정 골든 태그에 대해서도 동일한 작업을 수행할 수 있습니다.
mutation {
entityGoldenTagsReset(
context: {guid: WORKLOAD_ENTITY_GUID},
domainType: {domain: "APM", type: "APPLICATION"}) {
errors {
message
type
}
tags {
context {
account
guid
}
domainType {
domain
type
}
tags {
key
}
}
}
}
예상 오류
이러한 모든 돌연변이는 작업 결과 또는 오류 목록으로 응답할 수 있습니다.
다음은 수신할 수 있는 모든 예상 오류입니다.
INVALID_CONTEXT
: 컨텍스트가 유효하지 않습니다. 하나의 컨텍스트, 계정 또는 워크로드의 GUID만 있을 수 있습니다. 둘 다 사용하거나 다른 개념이나 워크로드에 속하지 않는 GUID를 사용하는 경우 이 오류가 발생합니다.INVALID_DOMAIN_TYPE
: 도메인 유형이 유효하지 않습니다.LIMIT_EXCEEDED
: 메트릭의 최대 양은 9입니다. 이 제한을 초과하면 이 오류가 발생합니다.NOT_AUTHORIZED
: 사용자에게 이 작업을 수행할 권한이 없습니다.