Go 에이전트의 구성 설정을 편집하여 New Relic이 앱을 모니터링하는 방법의 일부 측면을 제어할 수 있습니다. 예를 들어:
높은 보안 모드를 켭니다. UI에서 필터링 및 정렬을 위한 사용자 정의 태그를 추가합니다. 오류, 트랜잭션 이벤트, 트랜잭션 추적 및 사용자 지정 이벤트 수집을 끕니다. 구성 방법 및 우선 순위 Go 에이전트를 구성하는 기본 방법은 표준 설치 프로세스 의 일부인 newrelic.NewApplication()
호출의 일부로 newrelic.Config
구조체를 수정하는 것입니다. Go 에이전트 버전 2.7.0 이상 에서는 UI에서 서버 측 구성 을 사용하여 제한된 수의 구성 옵션을 설정할 수도 있습니다.
Go 에이전트는 구성에 대해 이 우선 순위를 따릅니다. 사용하도록 설정하면 서버측 값이 비어 있는 경우에도 서버측 구성이 newrelic.Config
구조체의 모든 해당 값을 재정의합니다.
Go 에이전트에서 서버 측 구성이 활성화된 경우 서버 측 값이 비어 있는 경우에도 newrelic.Config
구조체의 모든 해당 값을 재정의합니다.
각 구성 방법에 대한 자세한 설명은 다음과 같습니다.
서버 측 구성(2.7.0 이상) 서버 측 구성 은 Go 에이전트 버전 2.7.0 이상 에서 사용할 수 있습니다. 이를 통해 UI에서 특정 설정을 구성할 수 있습니다. 이렇게 하면 변경 사항이 여러 호스트에서 실행되는 경우에도 모든 에이전트에 자동으로 적용됩니다. 사용 가능한 경우 이 문서에는 개별 구성 옵션 아래의 서버 측 구성에 대한 UI 레이블이 서버 측 레이블 로 포함됩니다.
진행 중인 구성에 설명된 단계에 따라 신청 프로세스에서 newrelic.NewApplication()
를 계속 호출해야 합니다. 서버 측 구성 옵션 세트는 로컬로 설정된 옵션을 덮어씁니다. 서버 측에서 모든 구성 옵션을 사용할 수 있는 것은 아니므로 newrelic.Config
구조체를 계속 업데이트할 수 있습니다.
주의 서버 측 구성이 활성화된 경우 에이전트는 UI에서 설정할 수 있는 newrelic.Config
구조체의 모든 값을 무시합니다. UI 값이 비어 있어도 에이전트는 이를 빈 값으로 처리하여 newrelic.Config
값을 사용하지 않습니다.
진행 newrelic.Config
구조체 로컬 프로세스 newrelic.Config
구조에서 Go 에이전트를 구성합니다. 이 구조체는 newrelic.NewApplication()
을 호출할 때 액세스할 수 있습니다.
main
함수 또는 init
블록에 다음을 추가합니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
os.Getenv
을 사용하여 newrelic.ConfigLicense
에 전달된 문자열 리터럴 값으로 하드코딩하지 않고 환경에서 라이선스 키를 읽습니다. 라이선스 키 또는 기타 민감한 정보를 소스 코드에 두지 않는 것이 좋습니다. 그러면 SCM 리포지토리에 저장되어 권한이 없는 사람에게 공개될 수 있습니다.
newrelic.Config
구조체의 값을 업데이트하여 newrelic.ConfigOption
을 사용하여 애플리케이션을 구성합니다. 이들은 newrelic.Config
구조체에 대한 포인터를 허용하는 함수입니다. 애플리케이션을 추가로 구성하려면 newrelic.ConfigOption
을 추가하세요. 예를 들어 사전 정의된 옵션 중 하나를 사용하여 공통 구성을 수행할 수 있습니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
newrelic . ConfigDebugLogger ( os . Stdout ) ,
또는 더 복잡한 구성을 수행하기 위해 고유한 newrelic.ConfigOption
를 만들 수 있습니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
newrelic . ConfigDebugLogger ( os . Stdout ) ,
func ( config * newrelic . Config ) {
config . HighSecurity = true
config . CrossApplicationTracer . Enabled = false
구성 설정 변경 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
은 New Relic 구성 구조를 나타냅니다. 하지만 Go 에이전트를 설치하고 앱에서 구성을 시작할 때 다른 변수 이름을 지정했을 수도 있습니다.
일반 구성 설정 라이센스(필수) 유형
문자열
기본값
(없음)
에 설정
newrelic.Config
구조체
앱의 메트릭을 New Relic 계정과 연결하는 데 사용되는 New Relic 라이선스 키 를 지정합니다. 라이선스와 앱 이름은 모두 New Relic 설치 프로세스 의 일부로 설정됩니다.
앱 이름(필수) 유형
문자열
기본값
(none)
에 설정
newrelic.Config
구조체
New Relic UI에서 데이터를 집계하는 데 사용되는 애플리케이션 이름 입니다. New Relic 설치 프로세스 의 일부로 라이선스와 앱 이름을 모두 설정합니다.
동시에 여러 앱에 데이터를 보고하려면 세미콜론으로 구분된 이름 목록을 지정하십시오. 세미콜론 자체 앞에 공백을 두지 마십시오. 예를 들어:
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "YOUR_APP_NAME;APP_GROUP_1;ALL_APPS" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
활성화됨 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
일 때 에이전트는 앱에서 New Relic 수집기 로 데이터를 보냅니다.
New Relic 모니터링을 끄려면 이것을 false
으로 설정하십시오.
예를 들어:
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
이 작업을 더 쉽게 하기 위해 ConfigEnabled
옵션을 사용할 수 있습니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
newrelic . ConfigEnabled ( false ) ,
이것은 개발 환경에 New Relic을 설치하거나 문제 해결을 위해 유용할 수 있습니다. Enabled
이 false
로 설정된 경우:
New Relic Go 에이전트는 New Relic 수집기와 통신하지 않습니다. 에이전트는 고루틴을 생성하지 않습니다. 설치 중에는 라이센스 키가 필요하지 않습니다. 라벨 유형
맵[문자열]문자열
기본값
(없음)
에 설정
newrelic.Config
구조체
태그 추가 .
4개의 태그 쌍 생성 다음은 4개의 태그를 설정하는 예입니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
config . Labels = map [ string ] string {
높은 보안 유형
부울
기본값
false
에 설정
newrelic.Config
구조체
높은 보안 모드 는 특정 보안 설정을 적용하고 재정의되지 않도록 하여 에이전트가 민감한 데이터를 보내지 않도록 합니다. 높은 보안 모드는 다음을 수행합니다.
UseTLS(지원 중단됨) 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
HTTPS 또는 HTTP를 사용하여 New Relic에 데이터를 보낼지 여부를 제어합니다. 에이전트는 기본적으로 HTTPS(TLS 프로토콜 사용)를 통해 New Relic과 통신하고 New Relic은 APM 및 New Relic REST API에 대한 모든 트래픽에 대해 HTTPS가 필요합니다 .
수송 이것은 New Relic 수집기와의 http.Client 통신을 사용자 정의합니다. 이것은 프록시를 구성하는 데 사용할 수 있습니다.
런타임 샘플러.활성화됨 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
이면 에이전트가 런타임 통계를 캡처합니다.
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 {
팁 환경 변수는 newrelic.ConfigFromEnvironment
에서 읽을 수 있도록 비어 있지 않은 값을 가져야 합니다.
사용자 정의 이벤트 구성 사용자 지정 이벤트를 생성하여 쿼리 및 분석에 사용할 수 있습니다.
CustomInsightsEvents.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
일 때 에이전트 는 맞춤 이벤트 를 New Relic 으로 보냅니다. 이 설정은 맞춤 이벤트를 비활성화하는 HighSecurity
에 의해 재정의됩니다.
사용자 지정 이벤트를 비활성화하려면 New Relic 구성 이 시작된 후 Go 앱에 다음을 배치하세요.
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
config . CustomInsightsEvents . Enabled = false
트랜잭션 이벤트 구성 트랜잭션 이벤트는 웹 요청 및 백그라운드 작업에 해당하는 이벤트를 수집하는 데 사용됩니다. 이벤트 데이터를 통해 New Relic UI는 히스토그램 및 백분위수 와 같은 추가 정보를 표시할 수 있습니다.
TransactionEvents.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
일 때 에이전트는 트랜잭션 이벤트를 수집합니다.
TransactionEvents.Attributes 유형
구조체
기본값
활성화됨, 제외 없음
에 설정
newrelic.Config
구조체
TransactionEvents.Attributes
세 개의 필드가 있는 구조체입니다.
TransactionEvents.Attributes.Enabled
을 사용하여 트랜잭션 이벤트에 대한 속성 수집을 켜거나 끕니다. Include
및 Exclude
를 사용하여 특정 속성을 포함하거나 제외합니다.
트랜잭션 이벤트에서 이름이 allAgentAttributeNames
인 속성 조각을 제외하는 예:
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
config . TransactionEvents . Attributes . Exclude = allAgentAttributeNames
TransactionEvents.MaxSamplesStored 유형
정수
기본값
10000
에 설정
newrelic.Config
구조체
New Relic으로 보낼 분당 최대 트랜잭션 이벤트 수를 정의하며 최대 기본 최대 트랜잭션 이벤트 수는 10,000개입니다.
오류 수집기 구성 다음 설정은 오류 수집기를 구성하는 데 사용됩니다.
ErrorCollector.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체, 서버 측 구성
서버 측 레이블
Error Collection on/off
false
일 때 에이전트는 오류나 오류 추적을 수집하지 않습니다.
ErrorCollector.CaptureEvents 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
일 때 에이전트는 오류 분석 이벤트를 수집합니다.
ErrorCollector.IgnoreStatusCodes 유형
정수
기본값
오류 코드 399 이하 및 404는 무시됩니다.
에 설정
newrelic.Config
구조체, 서버 측 구성
서버 측 레이블
Error Collection: Ignore from error collection
이것은 어떤 HTTP 응답 코드가 오류로 무시되는지를 제어합니다.
100보다 크거나 같고 400보다 작은 응답 코드는 기본적으로 무시되며 이 함수를 호출할 때 지정할 필요가 없습니다. 응답 코드 0, 5, 404는 기본적으로 목록에 포함되지만 무시 목록에 추가할 때 지정해야 합니다.
이 함수의 기본 형식은 다음과 같습니다.
config . ErrorCollector . IgnoreStatusCodes = [ ] int {
위의 http.StatusNotFound
과 같이 응답 코드를 HTTP로 추가할 수도 있습니다.
중요 사용하는 경우 서버 측 구성 은 newrelic.Config
구조체에 설정된 모든 값을 재정의합니다. 따라서 서버 측 구성이 활성화된 경우 404를 무시하려면 UI에 설정된 구성에 404를 포함해야 합니다.
오류 코드를 무시하는 예 0, 5, 404를 포함하는 기본 무시 목록에 HTTP 응답 코드 418을 추가하려면:
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
config . ErrorCollector . IgnoreStatusCodes = [ ] int { 0 , 5 , 404 , 418 }
ErrorCollector.Attributes 유형
구조체
기본값
활성화됨, 제외 없음
에 설정
newrelic.Config
구조체
ErrorCollector.Attributes
세 개의 필드가 있는 구조체입니다.
ErrorCollector.Attributes.Enabled
을 사용하여 오류에 대한 속성 수집을 켜거나 끕니다. Include
및 Exclude
를 사용하여 특정 속성을 포함하거나 제외합니다.
오류에서 이름이 allAgentAttributeNames
인 속성 슬라이스를 제외하는 예:
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
config . ErrorCollector . Attributes . Exclude = allAgentAttributeNames
트랜잭션 추적기 구성 다음은 트랜잭션 추적기 구성을 변경하기 위한 설정입니다. 트랜잭션 추적에 대한 자세한 내용은 트랜잭션 추적 을 참조하십시오.
TransactionTracer.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체, 서버 측 구성
서버 측 레이블
Transaction Tracing on/off
true
일 때 에이전트는 트랜잭션 추적 (느린 트랜잭션에 대한 세부 정보)을 수집합니다.
TransactionTracer.Threshold.IsApdexFailing 유형
부울
기본값
true
에 설정
newrelic.Config
구조체, 서버 측 구성
서버 측 레이블
Transaction Tracing: Threshold
트랜잭션 추적 임계값이 Apdex를 기반으로 하는지 여부를 제어합니다.
TransactionTracer.Threshold.Duration 유형
시간.밀리초
기본값
500
에 설정
newrelic.Config
구조체, 서버 측 구성
서버 측 레이블
Transaction Tracing: Threshold
Threshold.IsApdexFailing
이 false
로 설정되면 에이전트는 이 기간을 트랜잭션 추적 임계값으로 사용합니다.
TransactionTracer.Segments.Threshold 유형
시간.밀리초
기본값
2
에 설정
newrelic.Config
구조체
세그먼트가 추적에 추가되는 임계값입니다.
TransactionTracer.Segments.Attributes 중요 Go 에이전트 버전 2.6.0 이상에서 사용 가능합니다.
유형
구조체
기본값
활성화됨, 제외 없음
에 설정
newrelic.Config
구조체
TransactionTracer.Segments.Attributes
세 개의 필드가 있는 구조체입니다.
TransactionTracer.Segments.Attributes.Enabled
을 사용하여 트랜잭션 추적 세그먼트에 대한 속성 수집을 켜거나 끕니다. Include
및 Exclude
를 사용하여 특정 속성을 포함하거나 제외합니다.
추적에서 이름이 allSegmentAttributeNames
인 속성 슬라이스를 제외하는 예:
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
config . TransactionTracer . Segments . Attributes . Exclude = allSegmentAttributeNames
TransactionTracer.Segments.StackTraceThreshold 유형
시간.밀리초
기본값
500
에 설정
newrelic.Config
구조체, 서버 측 구성
서버 측 레이블
Transaction Tracing: Stack trace threshold
이것은 트랜잭션 추적에서 세그먼트에 스택 추적이 제공되는 임계값입니다.
주의 이 설정을 낮추면 에이전트 오버헤드가 크게 증가할 수 있습니다.
TransactionTracer.Attributes 유형
구조체
기본값
활성화됨, 제외 없음
에 설정
newrelic.Config
구조체
TransactionTracer.Attributes
세 개의 필드가 있는 구조체입니다.
TransactionTracer.Attributes.Enabled
을 사용하여 트랜잭션 추적에 대한 속성 수집을 켜거나 끕니다. Include
및 Exclude
를 사용하여 특정 속성을 포함하거나 제외합니다.
추적에서 이름이 allAgentAttributeNames
인 속성 슬라이스를 제외하는 예:
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
config . TransactionTracer . Attributes . Exclude = allAgentAttributeNames
데이터 저장소 추적 프로그램 구성 다음은 느린 쿼리 활성화 및 설정을 포함한 데이터 저장소 설정입니다.
DatastoreTracer.InstanceReporting.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
이를 통해 일부 데이터베이스 드라이버에 대한 데이터 저장소 인스턴스 메트릭(예: 호스트 및 포트)을 수집할 수 있습니다. 이는 트랜잭션 추적 및 느린 쿼리 데이터 의 일부로 보고됩니다.
DatastoreTracer.NameReporting.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
느린 쿼리 추적 및 트랜잭션 추적에서 데이터베이스 이름 수집을 활성화하려면 이것을 사용하십시오. 활성화된 속성의 기본값은 true
입니다.
DatastoreTracer.QueryParameters.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
일 때 에이전트는 데이터 저장소 호출 쿼리 매개변수를 수집합니다.
DatastoreTracer.SlowQuery.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
느린 쿼리 가 캡처되는지 여부를 제어합니다.
DatastoreTracer.SlowQuery.Threshold 유형
시간.밀리초
기본값
10
에 설정
newrelic.Config
구조체
에이전트는 이보다 느린 쿼리에 대해 느린 쿼리 데이터 를 캡처합니다.
교차 애플리케이션 추적 구성 다음은 교차 애플리케이션 추적 기능을 변경하기 위한 설정입니다.
CrossApplicationTracer.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체, 서버 측 구성
서버 측 레이블
Cross-application tracing on/off
true
일 때 에이전트는 아웃바운드 요청에 교차 애플리케이션 추적 헤더를 추가하고 교차 애플리케이션 추적 헤더에 대해 수신 요청을 스캔합니다.
분산 추적 및 교차 애플리케이션 추적은 동시에 사용할 수 없습니다. Go 에이전트의 기본 구성은 분산 추적을 비활성화하고 애플리케이션 간 추적을 활성화합니다.
분산 추적 구성 중요 분산 추적을 사용하려면 Go 에이전트 버전 2.1.0 이상이 필요하며 애플리케이션 간 추적 을 사용하지 않도록 설정합니다. 다른 기능에도 영향을 미칩니다. 활성화하기 전에 전환 가이드 를 읽으십시오.
분산 추적을 사용하면 분산 시스템을 통해 이동하는 요청의 경로를 볼 수 있습니다.
분산 추적이 활성화되면 스팬 이벤트 를 수집할 수 있습니다.
DistributedTracer.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
표준 추적은 Go 에이전트 버전 3.16.0 이상에서 기본적으로 켜져 있습니다.즉, 에이전트는 아웃바운드 요청에 분산 추적 헤더를 자동으로 추가하고 분산 추적 헤더에 대해 수신 요청을 검색합니다.분산 추적을 비활성화하려면 값을 false
으로 설정합니다.
분산 추적 설정에 대한 자세한 내용은 Go 애플리케이션에 분산 추적 사용 을 참조하십시오.
유형
부울
기본값
false
에 설정
newrelic.Config
구조체
아웃바운드 요청에 첨부된 New Relic 헤더를 제외하고 대신 분산 추적을 위해 W3C 추적 컨텍스트 헤더에만 의존하려면 이것을 true
으로 설정합니다. 이것이 false
이면 두 가지 유형의 헤더가 모두 사용됩니다.
스팬 이벤트 구성 분산 추적 에 대해 스팬 이벤트 가 보고됩니다. 스팬 이벤트를 보고하려면 분산 추적을 활성화해야 합니다. 다음 설정은 범위 이벤트 수집을 제어합니다.
SpanEvents.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
일 때 에이전트는 스팬 이벤트를 수집합니다.
SpanEvents.Attributes 중요 Go 에이전트 버전 2.6.0 이상에서 사용 가능합니다.
유형
구조체
기본값
활성화됨, 제외 없음
에 설정
newrelic.Config
구조체
SpanEvents.Attributes
세 개의 필드가 있는 구조체입니다.
SpanEvents.Attributes.Enabled
을 사용하여 스팬 이벤트에 대한 속성 수집을 활성화하거나 비활성화합니다. Include
및 Exclude
를 사용하여 특정 속성을 포함하거나 제외합니다.
추적에서 이름이 allSpanAttributeNames
인 속성 슬라이스를 제외하는 예:
app , err := newrelic . NewApplication (
newrelic . ConfigAppName ( "Your Application Name" ) ,
newrelic . ConfigLicense ( os . Getenv ( "NEW_RELIC_LICENSE_KEY" ) ) ,
func ( config * newrelic . Config ) {
config . TransactionTracer . Segments . Attributes . Exclude = allSpanAttributeNames
무한 추적 구성 무한 추적을 활성화하려면 분산 추적을 활성화하고( newrelic.Config
구조체에서 config.DistributedTracer.Enabled = true
설정) 아래에 추가 설정을 추가합니다. 예를 보려면 언어 에이전트: 분산 추적 구성 을 참조하세요.
InfiniteTracing.TraceObserver.Host 유형
끈
기본값
(없음)
에 설정
newrelic.Config
구조체
유효한 무한 추적 추적 관찰자 호스트 항목을 가져오는 데 도움이 필요 하면 추적 관찰자 끝점 찾기 또는 만들기 를 참조하세요.
애플리케이션 로깅 설정 에이전트에서 애플리케이션 로깅을 구성하기 위해 다음 설정을 사용할 수 있습니다.
중요 Go 에이전트 버전 3.17.0 이상이 필요합니다.
ApplicationLogging.활성화됨 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
인 경우 이러한 하위 기능 구성도 활성화된 경우 로그 이벤트 및 로깅 측정항목 수집을 활성화합니다.false
이면 로깅 계측 기능이 활성화되지 않습니다.
ConfigAppLogEnabled()를 호출하여 ApplicationLogging을 구성합니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppLogEnabled ( true ) ,
ApplicationLogging.Forwarding.Enabled 유형
부울
기본값
false
에 설정
newrelic.Config
구조체
true
인 경우 에이전트는 애플리케이션에서 내보낸 로그 레코드를 캡처하여 New Relic에 전달합니다. 이 설정을 적용하려면 ApplicationLogging.Enabled
도 true
}여야 합니다.
ConfigAppLogForwardingEnabled()를 호출하여 로그 전달을 활성화합니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppLogForwardingEnabled ( true ) ,
ApplicationLogging.Forwarding.MaxSamplesStored 유형
정수
기본값
10000
에 설정
newrelic.Config
구조체
New Relic에 분당 보낼 로그 레코드 수입니다. 이 설정은 로그 전달 기능을 사용할 때 전체 메모리 소비를 제어합니다.
ConfigAppLogForwardingMaxSamplesStored()를 호출하여 ApplicationLogging.Forwarding.MaxSamplesStored를 구성합니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppLogForwardingMaxSamplesStored ( 1000 ) ,
ApplicationLogging.Metrics.Enabled 유형
부울
기본값
true
에 설정
newrelic.Config
구조체
true
인 경우 에이전트는 애플리케이션에서 전송 중인 로그 라인과 관련된 측정항목을 캡처합니다. 이 설정을 적용하려면 ApplicationLogging.Enabled
도 true
}여야 합니다.
ConfigAppLogMetricsEnabled()를 호출하여 ApplicationLogging.Metrics.Enabled를 구성합니다.
app , err := newrelic . NewApplication (
newrelic . ConfigAppLogConfigAppLogMetricsEnabled ( true ) ,