• 로그인지금 시작하세요

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

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

문제 신고

NerdGraph 튜토리얼: 무한 추적 구성

New Relic Edge 앱 을 사용하여 무한 추적 에 대한 많은 설정을 구성할 수 있습니다. GraphQL을 사용하여 이러한 다양한 구성 작업을 수행할 수도 있습니다. NerdGraph GraphiQL 탐색기 를 사용하면 Infinite Tracing 구성에 대한 쿼리 및 변형을 실행하고 결과를 볼 수 있습니다. 이 문서에서는 사용 가능한 몇 가지 옵션에 대해 설명합니다.

GraphQL을 시작하는 데 도움이 필요 하면 New Relic NerdGraph 소개를 확인하세요.

추적 관찰자에서 무작위 샘플러 업데이트

꼬리 기반 샘플링 알고리즘에 대한 문서에 설명된 대로 Infinite Tracing이 추적을 샘플링하기 위해 선택하는 몇 가지 방법이 있습니다. 임의 샘플러를 구성할 수 있으므로 유지되는 추적 비율을 제어할 수 있습니다.

임의 필터를 변경하는 것이 적절한 시기에 대한 도움이 필요하면 무한 추적: 임의 추적 필터 를 참조하십시오.

다음 예는 기본값인 1%에서 값을 업데이트하는 방법을 보여줍니다.

  1. api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.

  2. 다음 쿼리를 실행하여 수정할 무작위 샘플러가 포함된 추적 관찰자를 찾습니다.

    {
      actor {
        account(id: YOUR_ACCOUNT_ID) {
          edge {
            tracing {
              traceObservers {
                id
                name
                providerRegion
                status
                traceFilters {
                  randomTraceFilter {
                    percentKept
                  }
                }
                endpoints {
                  agent {
                    host
                  }
                }
              }
            }
          }
        }
      }
    }
  3. 응답에서 추적 관찰자 id 를 찾습니다. 다음은 값이 123456789 인 예입니다.

    {
      "data": {
        "actor": {
          "account": {
            "edge": {
              "tracing": {
                "traceObservers": [
                  {
                    "endpoints": [
                      {
                        "agent": {
                          "host": "your-uuid-goes-here.aws-us-east-1.tracing.edge.nr-data.net"
                        }
                      }
                    ],
                    "id": 123456789,
                    "name": "Production Workload, US-EAST-1",
                    "providerRegion": "AWS_US_EAST_1",
                    "status": "CREATED",
                    "traceFilters": {
                      "randomTraceFilter": {
                        "percentKept": 1
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      }
    }
  4. id 및 유지하려는 백분율을 사용하여 변형을 실행합니다. 예를 들어, 이전 단계에서 찾은 ID가 123456789 인 추적 관찰자에 대해 값을 50%로 높이려면 다음을 실행합니다.

    mutation {
      edgeUpdateTraceObservers(
        accountId: YOUR_ACCOUNT_ID
        traceObserverConfigs: { id: 123456789, randomTraceFilterConfig: { percentKept: 50 } }
      ) {
        responses {
          errors {
            message
            type
          }
          traceObserver {
            traceFilters {
              randomTraceFilter {
                percentKept
              }
            }
            id
            endpoints {
              agent {
                host
              }
            }
            name
            status
          }
        }
      }
    }

변경을 확인하는 응답은 다음과 같습니다.

{
"data":{
"edgeUpdateTraceObservers":{
"responses":[
{
"errors":null,
"traceObserver":{
"endpoints":[
{
"agent":{
"host":"your-uuid-goes-here.aws-us-east-1.tracing.edge.nr-data.net"
}
}
],
"id":123456789,
"name":"Production Workload, US-EAST-1",
"status":"CREATED",
"traceFilters":{
"randomTraceFilter":{
"percentKept":50
}
}
}
}
]
}
}
}

추적 관찰자에서 데이터 소스 업데이트

일부 엔터티는 추적 데이터를 Infinite Tracing 추적 관찰자에게 직접 보내도록 구성할 수 있지만 다른 엔터티는 New Relic이 추적 관찰자에게 데이터를 라우팅하도록 할 수 있습니다. 현재 모바일, 브라우저 및 Lambda 엔터티에 대해 이 기능을 지원합니다. Infinite Tracing의 맥락에서 우리는 이러한 엔티티를 데이터 소스라고 부릅니다.

추적 관찰자의 데이터 소스에 대한 도움이 필요한 경우 추적 관찰자 설정 을 참조하십시오.

추적 관찰자에서 데이터 소스를 업데이트할 수 있는 세 가지 방법이 있습니다.

  • 추가: 추적 관찰자의 기존 데이터 소스에 새 데이터 소스를 추가하려면 ADD DataSourceGroupUpdateType 을(를) 사용하십시오. 이 변형으로 데이터 소스가 제거되지 않습니다.
  • REPLACE: 추적 관찰자의 기존 데이터 소스를 새 값 세트로 바꾸려면 REPLACE DataSourceGroupUpdateType 를 사용하세요. 새 세트에 없는 기존 값은 상태가 INACTIVE 로 설정됩니다.
  • 제거: 추적 관찰자에서 하나 이상의 기존 데이터 소스를 제거하려면 REMOVE DataSourceGroupUpdateType 를 사용하십시오. 전달된 모든 값의 상태는 INACTIVE 로 설정됩니다.

다음 예에서는 기존 데이터 원본에 추가하는 방법을 보여줍니다.

  1. api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.

  2. 다음 쿼리를 실행하여 수정하려는 데이터 원본 그룹이 포함된 추적 관찰자를 찾습니다.

    {
     actor {
       account(id: YOUR_ACCOUNT_ID) {
         edge {
           tracing {
             traceObservers {
               id
               name
               dataSourceGroup {
                 dataSources {
                   entity {
                     guid
                     name
                     entityType
                   }
                   status
                 }
               }
               endpoints {
                 agent {
                   host
                 }
               }
             }
           }
         }
       }
     }
    }
  3. 응답에서 추적 관찰자 id 를 찾습니다. 다음은 두 개의 추적 관찰자가 있는 예입니다. id 값이 259 인 US-EAST-1에 있는 "Production services"를 원한다고 가정해 보겠습니다.

    {
    "data": {
    "actor": {
    "account": {
    "edge": {
    "tracing": {
    "traceObservers": [
    {
    "dataSourceGroup": {
    "dataSources": [
    {
    "entity": {
    "entityType": "BROWSER_APPLICATION_ENTITY",
    "guid": "MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDE",
    "name": "My 1st Browser App"
    },
    "status": "ACTIVE"
    },
    {
    "entity": {
    "entityType": "MOBILE_APPLICATION_ENTITY",
    "guid": "MXxNT0JJTEV8QVBQTElDQVRJT058Mg",
    "name": "My 1st iOS App"
    },
    "status": "ACTIVE"
    },
    {
    "entity": {
    "entityType": "INFRASTRUCTURE_AWS_LAMBDA_FUNCTION_ENTITY",
    "guid": "MXxJTkZSQXxOQXwz",
    "name": "My 1st Lambda Function"
    },
    "status": "ACTIVE"
    }
    ]
    },
    "endpoints": [
    {
    "agent": {
    "host": "1541eb3c-9cb7-44fc-a764-fa2ab5d507ed.aws-us-east-1.tracing.edge.nr-data.net"
    }
    }
    ],
    "id": 259,
    "name": "Production services"
    },
    {
    "dataSourceGroup": {
    "dataSources": [
    {
    "entity": {
    "entityType": "BROWSER_APPLICATION_ENTITY",
    "guid": "MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDEw",
    "name": "My Staging Browser App"
    },
    "status": "ACTIVE"
    },
    {
    "entity": {
    "entityType": "MOBILE_APPLICATION_ENTITY",
    "guid": "MXxNT0JJTEV8QVBQTElDQVRJT058MTE",
    "name": "My Staging Android App"
    },
    "status": "ACTIVE"
    },
    {
    "entity": {
    "entityType": "INFRASTRUCTURE_AWS_LAMBDA_FUNCTION_ENTITY",
    "guid": "MXxJTkZSQXxOQXwxMg",
    "name": "My Staging Lambda Function"
    },
    "status": "ACTIVE"
    }
    ]
    },
    "endpoints": [
    {
    "agent": {
    "host": "cd8816a3-b2a2-421b-aa15-5095a056d902.aws-us-west-2.tracing.edge.nr-data.net"
    }
    }
    ],
    "id": 632,
    "name": "Staging Environment"
    }
    ]
    }
    }
    }
    }
    }
    }
  4. ID, 하나 이상의 엔티티 guid 및 추가, 교체 또는 제거 여부를 사용하여 변형을 실행하십시오. 예를 들어, 이전 단계에서 찾은 ID가 259Production services 추적 관찰자에 새 브라우저 앱과 모바일 앱을 추가하려면 다음을 실행합니다.

    mutation {
    edgeUpdateTraceObservers(traceObserverConfigs: {id: 259, dataSourceGroupConfig: {updateType: ADD, guids: ["MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDQ5", "MXxNT0JJTEV8QVBQTElDQVRJT058MTY"]}}, accountId: 1) {
    responses {
    errors {
    message
    type
    }
    traceObserver {
    dataSourceGroup {
    dataSources {
    entity {
    guid
    name
    }
    status
    }
    }
    }
    }
    }
    }

변경을 확인하는 응답은 다음과 같습니다.

{
"data": {
"edgeUpdateTraceObservers": {
"responses": [
{
"errors": null,
"traceObserver": {
"dataSourceGroup": {
"dataSources": [
{
"entity": {
"guid": "MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDE",
"name": "My 1st Browser App"
},
"status": "ACTIVE"
},
{
"entity": {
"guid": "MXxNT0JJTEV8QVBQTElDQVRJT058Mg",
"name": "My 1st iOS App"
},
"status": "ACTIVE"
},
{
"entity": {
"guid": "MXxJTkZSQXxOQXwz",
"name": "My 1st Lambda Function"
},
"status": "ACTIVE"
},
{
"entity": {
"guid": "MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDQ5",
"name": "My 2nd Browser App"
},
"status": "ACTIVE"
},
{
"entity": {
"guid": "MXxNT0JJTEV8QVBQTElDQVRJT058MTY",
"name": "My 2nd Mobile App"
},
"status": "ACTIVE"
}
]
}
}
}
]
}
}
}

추적 관찰자의 이름 업데이트

추적 관찰자의 이름을 변경하는 방법은 다음과 같습니다.

  1. api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.

  2. 이름을 업데이트하려는 추적 관찰자를 찾습니다.

    {
      actor {
        account(id: YOUR_ACCOUNT_ID) {
          edge {
            tracing {
              traceObservers {
                id
                name
                providerRegion
                status
                endpoints {
                  agent {
                    host
                  }
                }
              }
            }
          }
        }
      }
    }
  3. 응답에서 반환된 추적 관찰자 id 를 찾습니다.

    {
      "data": {
        "actor": {
          "account": {
            "edge": {
              "tracing": {
                "traceObservers": [
                  {
                    "endpoints": [
                      {
                        "agent": {
                          "host": "your-uuid-goes-here.aws-us-east-1.tracing.edge.nr-data.net"
                        }
                      }
                    ],
                    "id": 123456789,
                    "name": "Production Workload, US-EAST-1",
                    "providerRegion": "AWS_US_EAST_1",
                    "status": "CREATED"
                  }
                ]
              }
            }
          }
        }
      }
    }
  4. 이름에 대한 새 값을 포함하는 변형을 실행합니다. 예를 들어 ID가 123456789 인 추적 관찰자에 대해 이름을 Global Workload, US-EAST-1 로 변경하려면 다음을 실행합니다.

    mutation {
      edgeUpdateTraceObservers(
        accountId: YOUR_ACCOUNT_ID
        traceObserverConfigs: { id: 123456789, name: "Global Workload, US-EAST-1" }
      ) {
        responses {
          errors {
            message
            type
          }
          traceObserver {
            id
            endpoints {
              agent {
                host
              }
            }
            name
            status
          }
        }
      }
    }

변경을 확인하는 응답은 다음과 같습니다.

{
"data":{
"edgeUpdateTraceObservers":{
"responses":[
{
"errors":null,
"traceObserver":{
"endpoints":[
{
"agent":{
"host":"your-uuid-goes-here.aws-us-east-1.tracing.edge.nr-data.net"
}
}
],
"id":123456789,
"name":"Global Workload, US-EAST-1",
"status":"CREATED"
}
}
]
}
}
}
Copyright © 2022 New Relic Inc.