Go 에이전트에 대한 구성 설정을 편집하여 New Relic이 앱을 모니터링하는 방법의 일부 측면을 제어할 수 있습니다. 예를 들어:
- 높은 보안 모드를 켭니다.
- UI에서 필터링 및 정렬을 위한 사용자 정의 태그를 추가합니다.
- 오류, 트랜잭션 이벤트, 트랜잭션 추적 및 사용자 지정 이벤트 수집을 끕니다.
구성 방법 및 우선 순위
Go 에이전트를 구성하는 기본 방법은 표준 설치 프로세스 의 일부인 newrelic.NewApplication()
호출의 일부로 newrelic.Config
구조체를 수정하는 것입니다. Go 에이전트 버전 2.7.0 이상 에서는 UI에서 서버 측 구성 을 사용하여 제한된 수의 구성 옵션을 설정할 수도 있습니다.
Go 에이전트는 구성에 대해 이 우선 순위를 따릅니다. 사용하도록 설정하면 서버측 값이 비어 있는 경우에도 서버측 구성이 newrelic.Config
구조체의 모든 해당 값을 재정의합니다.
Go 에이전트에서 서버 측 구성이 활성화된 경우 서버 측 값이 비어 있는 경우에도 newrelic.Config
구조체의 모든 해당 값을 재정의합니다.
각 구성 방법에 대한 자세한 설명은 다음과 같습니다.
구성 설정 변경
Go 에이전트 구성을 변경하려면 맞춤 newrelic.ConfigOption
내에서 newrelic.Config
구조체의 값을 설정합니다. 예를 들어 테스트 목적으로 New Relic 모니터링을 일시적으로 끄려면 Enabled
값을 false
으로 변경합니다.
app, err := newrelic.NewApplication( newrelic.ConfigAppName("Your Application Name"), newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), func(config *newrelic.Config) { config.Enabled = false },)
이 예와 다음 예에서 config
은 New Relic 구성 구조를 나타냅니다. 하지만 Go 에이전트를 설치하고 앱에서 구성을 시작할 때 다른 변수 이름을 지정했을 수도 있습니다.
일반 구성 설정
New Relic CodeStream을 사용하여 IDE에서 성능을 모니터링하는 경우 리포지토리를 서비스와 연결 하고 빌드 SHA 또는 릴리스 태그를 오류와 연결할수도 있습니다.
환경에서 구성
유연성을 높이기 위해 환경 변수를 애플리케이션의 소스 코드에 하드코딩하는 대신 설정하여 많은 구성 옵션을 설정할 수 있습니다. 이를 사용하려면 다른 구성 옵션 중에서 ConfigFromEnvironment()
에 대한 호출을 추가하세요.
app, err := newrelic.NewApplication( newrelic.ConfigAppName("Your Application Name"), newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), newrelic.ConfigFromEnvironment(),)
newrelic.ConfigFromEnvironment()
이 나타나는 옵션 목록의 지점에서 환경 변수를 읽고 newrelic.Config
구조체의 해당 항목이 업데이트됩니다. ConfigFromEnvironment
뒤에 나열된 추가 구성 옵션이 있는 경우 ConfigFromEnvironment
에 의해 설정된 값을 재정의할 수 있습니다.
예를 들어 다음 환경 변수가 설정된 경우:
NEW_RELIC_LICENSE_KEY="your_license_key_here"NEW_RELIC_APP_NAME="Your Application Name"NEW_RELIC_CODE_LEVEL_METRICS_ENABLED="true"NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIX="myproject/src"NEW_RELIC_LABELS="Env:Dev;Label2:label2;Label3:label3;Label4:label4"
다음 코드:
app, err := newrelic.NewApplication( newrelic.ConfigFromEnvironment(),)
하드 코딩된 것과 동일한 결과를 얻을 수 있습니다.
app, err := newrelic.NewApplication( newrelic.ConfigAppName("Your Application Name"), newrelic.ConfigLicense("your_license_key_here"), newrelic.ConfigCodeLevelMetricsEnabled(true), newrelic.ConfigCodeLevelMetricsPathPrefix("myproject/src"), func(config *newrelic.Config) { config.Labels = map[string]string{ "Env": "Dev", "Label2": "label2", "Label3": "label3", "Label4": "label4", } },)
가능한 모든 구성 옵션이 환경 변수를 통해 설정되는 것은 아닙니다. 아래 축소기 의 환경 변수 및 기능 표 에는 사용 가능한 모든 구성 기능과 해당 환경 변수가 나열되어 있습니다. 이름이 지정된 구성 옵션은 Config
구조의 해당 필드에 값을 직접 할당하여 설정할 수 있지만 가능하면 구성 함수 및/또는 환경 변수를 사용하는 것이 좋습니다.
버전 태그 설정
NEW_RELIC_METADATA_SERVICE_VERSION을 설정하면 이벤트 데이터에 tag.service.version
태그가 생성됩니다. 이 컨텍스트에서 서비스 버전은 배포되는 코드의 버전이며 대부분의 경우 1.2.3과 같은 시맨틱 버전이지만 항상 그런 것은 아닙니다. 이 정보를 보내면 배포된 소프트웨어 버전별로 원격 분석을 패싯할 수 있으므로 오류를 생성하는 소프트웨어 버전을 빠르게 식별할 수 있습니다.
사용자 정의 이벤트 구성
사용자 지정 이벤트를 생성하여 쿼리 및 분석에 사용할 수 있습니다.
트랜잭션 이벤트 구성
트랜잭션 이벤트는 웹 요청 및 백그라운드 작업에 해당하는 이벤트를 수집하는 데 사용됩니다. 이벤트 데이터를 통해 New Relic UI는 히스토그램 및 백분위수 와 같은 추가 정보를 표시할 수 있습니다.
오류 수집기 구성
다음 설정은 오류 수집기를 구성하는 데 사용됩니다.
팁
New Relic의 오류 구성에 대한 개요는 APM의 오류 관리 를 참조하십시오.
트랜잭션 추적기 구성
다음은 트랜잭션 추적기 구성을 변경하기 위한 설정입니다. 트랜잭션 추적에 대한 자세한 내용은 트랜잭션 추적 을 참조하십시오.
데이터 저장소 추적 프로그램 구성
다음은 느린 쿼리 활성화 및 설정을 포함한 데이터 저장소 설정입니다.
교차 애플리케이션 추적 구성
다음은 교차 애플리케이션 추적 기능을 변경하기 위한 설정입니다.
분산 추적 구성
중요
분산 추적을 사용하려면 Go 에이전트 버전 2.1.0 이상이 필요하며 애플리케이션 간 추적 을 사용하지 않도록 설정합니다. 다른 기능에도 영향을 미칩니다. 활성화하기 전에 전환 가이드 를 읽으십시오.
분산 추적을 사용하면 분산 시스템을 통해 이동하는 요청의 경로를 볼 수 있습니다.
분산 추적이 활성화되면 스팬 이벤트 를 수집할 수 있습니다.
스팬 이벤트 구성
분산 추적 에 대해 스팬 이벤트 가 보고됩니다. 스팬 이벤트를 보고하려면 분산 추적을 활성화해야 합니다. 다음 설정은 범위 이벤트 수집을 제어합니다.
무한 추적 구성
무한 추적을 활성화하려면 분산 추적을 활성화하고( newrelic.Config
구조체에서 config.DistributedTracer.Enabled = true
설정) 아래에 추가 설정을 추가합니다. 예를 보려면 언어 에이전트: 분산 추적 구성 을 참조하세요.
유효한 무한 추적 추적 관찰자 호스트 항목을 가져오는 데 도움이 필요 하면 추적 관찰자 끝점 찾기 또는 만들기 를 참조하세요.
애플리케이션 로깅 설정
에이전트에서 애플리케이션 로깅을 구성하기 위해 다음 설정을 사용할 수 있습니다. 컨텍스트에서 Go 에이전트 로그 사용에 대한 팁은 컨텍스트에서 Go 로그를 참조하십시오.
중요
Go 에이전트 버전 3.17.0 이상이 필요합니다.
모듈 종속성 메트릭 설정
모듈 종속성 메트릭은 Go 에이전트에서 다양한 방식으로 구성할 수 있습니다. 모듈 종속성 메트릭은 코드 종속성 관리를 용이하게 하기 위해 Go 애플리케이션에서 사용하는 가져온 모듈 목록을 보고합니다. 여기에는 앱 모듈의 버전 정보도 포함됩니다.
중요
Go 에이전트 버전 3.20.0 필요 또는 더 높게