중요
Metric API 를 사용하여 사용자 지정 메트릭을 New Relic 플랫폼으로 보내는 것이 좋습니다.
사용자 지정 측정항목 을 사용하면 코드를 통과하는 모든 측정항목을 보고할 수 있습니다. 예를 들어 New Relic의 Go 모니터링 을 사용하면 기본적으로 캡처되지 않을 수 있는 앱 구성 요소의 시간을 측정하는 사용자 지정 메트릭을 만들 수 있습니다. 맞춤 측정항목을 캡처하면 다음을 수행할 수 있습니다.
- 메트릭 및 이벤트 탐색기 를 통해 New Relic 내부의 모니터링을 통합합니다.
- REST API 를 사용하여 UI 외부에서 사용자 지정 메트릭 데이터를 프로그래밍 방식으로 검색하고 사용합니다.
- 사용자 지정 메트릭이 특정 값을 초과할 때 사용자 또는 팀에 알리기 위해 사용자 지정 메트릭 경고 조건을 만듭니다 .
맞춤 측정항목 만들기
다음을 실행하여 애플리케이션을 인스턴스화합니다.
app, err := newrelic.NewApplication(newrelic.ConfigAppName("Your Application Name"),newrelic.ConfigLicense("NEW_RELIC_LICENSE_KEY"),newrelic.ConfigDebugLogger(os.Stdout),)앱을 인스턴스화한 후 다음 코드를 사용하여 사용자 지정 메트릭을 만듭니다.
app.RecordCustomMetric("CustomMetricName", //name of your metric132, //time in ms);RecordCustomMetric
의 첫 번째 매개변수는 맞춤 측정항목의 이름을 지정하는 문자열입니다.RecordCustomMetric
메서드는 측정항목 이름 앞에 문자열Custom/
을 자동으로 추가합니다. 즉, 위의 코드는Custom/CustomMetricName
이라는 측정항목을 생성합니다.RecordCustomMetric
의 두 번째 매개변수는 사용자 지정 트랜잭션에 대해 기록하려는 시간(밀리초)입니다. 이것은 위의 코드가 New Relic의 시스템에서 0.132초의 메트릭을 생성한다는 것을 의미합니다.맞춤 측정항목을 카운터로 사용하려면 위에 설명된 대로 호출하여 증가시킬 수 있으며 해당 측정항목의
count
값은 1씩 증가합니다. 두 번째 매개변수에 사용하는 값(ms 단위 시간)은 다음과 같습니다. 메트릭을 카운터로만 사용하는 경우에는 관련이 없으므로 0 또는 1과 같은 정적 숫자를 사용할 수 있습니다.- 1보다 큰 숫자로 카운터를 증가시키려면
app.RecordCustomMetric
을 여러 번 호출하십시오. 각 호출은 두 번째 매개변수의 값에 관계없이 측정항목을 1만큼만 증가시킵니다.
- 1보다 큰 숫자로 카운터를 증가시키려면
맞춤 측정항목 이름 지정
사용자 지정 측정항목의 이름을 지정하는 방법을 신중하게 고려하세요. 프로그램에서 고유한 이름의 메트릭을 너무 많이 생성하면 메트릭 그룹화 문제(MGI) 가 발생할 수 있습니다.
MGI는 메트릭 이름의 세분성이 너무 미세하여 수백 또는 수천 개의 메트릭 이름이 생성될 때 발생합니다. MGI의 일반적인 원인 중 하나는 웹 트랜잭션에서 메트릭 이름을 지정하기 위해 전체 URL 이름에 의존하는 것입니다. 몇 가지 주요 코드 경로는 고유한 문서, 기사, 페이지 등에 대한 다양한 전체 URL 경로를 생성할 수 있습니다.
URL 경로의 고유한 요소가 메트릭 이름에 포함된 경우 이러한 각 공통 경로에는 고유한 메트릭 이름이 있습니다. 측정항목 그룹화 문제가 발생하면 문제 해결 절차 를 따르십시오.