다음을 통해 공유


Microsoft Azure Monitor Application Insights JavaScript SDK 구성

Azure Application Insights JavaScript SDK는 웹 애플리케이션을 추적하고, 모니터링하고, 디버깅하기 위한 구성을 제공합니다.

SDK 구성

이러한 구성 필드는 선택 사항이며 달리 명시되지 않는 한 기본값은 false입니다.

SDK 구성을 추가하는 방법에 대한 지침은 SDK 구성 추가를 참조하세요.

이름 유형 기본값
계정 ID

앱이 사용자를 계정으로 그룹화하는 경우 계정 ID(선택 사항)입니다. 공백, 쉼표, 세미콜론, 등호 또는 세로 막대를 사용할 수 없습니다.
문자열
요청 컨텍스트 추가

API 호출을 시작할 때 컨텍스트를 사용하여 종속성 로그를 보강하는 방법을 제공합니다. 기본값은 정의되지 않았습니다. xhr 관련 컨텍스트를 구성하는 경우 xhr이 존재하는지 확인해야 합니다. fetch request 관련 컨텍스트를 구성하는 경우 fetch responsefetch가 존재하는지 확인해야 합니다. 그렇지 않으면 필요한 데이터를 가져오지 못할 수도 있습니다.
(requestContext: IRequestionContext) => {[key: string]: any} 정의되지 않음
ajaxPerfLookupDelay

기본값은 25ms입니다. Ajax 요청에 대한 windows.performance 타이밍 찾기를 다시 시도하기 전에 대기하는 시간입니다. 시간은 밀리초 단위이고 setTimeout()에 직접 전달됩니다.
숫자 이십오 (25)
appId (앱 ID)

AppId는 클라이언트에서 발생하는 AJAX 종속성과 서버 쪽 요청 간의 상관 관계에 사용됩니다. 알림 API가 설정된 경우 자동으로 사용할 수 없고 구성에서 수동으로 설정할 수 있습니다. 기본값은 null입니다.
문자열
자동_페이지_방문_시간_추적

True인 경우 페이지 보기에서 이전에 계측된 페이지의 보기 시간이 추적되어 원격 분석으로 전송되고 현재 페이지 보기에 대해 새 타이머가 시작됩니다. PageVisitTime에서 milliseconds이라는 사용자 지정 메트릭으로 전송되고 Date now() 함수(사용 가능한 경우)를 통해 계산되고 (새 Date())로 돌아갑니다. now()를 사용할 수 없는 경우(IE8 이하) getTime()입니다. 기본값은 false입니다.
부울 거짓
정의되지 않음을 변환하다

사용자에게 정의되지 않은 필드를 사용자 정의 값으로 변환하는 옵션을 제공합니다.
any 정의되지 않음
cookieCfg

기본적으로 쿠키 사용이 활성화되어 있습니다. 전체 기본값은 ICookieCfgConfig 설정을 참조하세요.
ICookieCfgConfig
[선택 사항]
(2.6.0 이상)
정의되지 않음
쿠키 도메인

사용자 지정 쿠키 도메인입니다. 하위 도메인에서 Application Insights 쿠키를 공유하려는 경우에 유용합니다.
(v2.6.0 이상) cookieCfg.___domain을 정의하는 경우 이 값보다 우선 적용됩니다.
cookieCfg.___domain의 별칭
[선택 사항]
쿠키 경로

사용자 지정 쿠키 경로입니다. 애플리케이션 게이트웨이 뒤에서 Application Insights 쿠키를 공유하려는 경우 유용합니다.
cookieCfg.path가 정의되면 우선 적용됩니다.
cookieCfg.path의 별칭
[선택 사항]
(2.6.0 이상)
상관관계헤더도메인

특정 도메인에 대한 상관 관계 헤더를 사용하도록 설정합니다.
문자열[] 정의되지 않음
상관관계헤더제외도메인

특정 도메인에 대한 상관 관계 헤더를 사용하지 않도록 설정합니다.
문자열[] 정의되지 않음
상관관계헤더제외패턴

정규식을 사용하는 상관 관계 헤더를 사용하지 않도록 설정합니다.
regex[] 정의되지 않음
createPerfMgr

필요한 경우 IPerfManager 인스턴스를 만들기 위해 호출되는 콜백 함수이며 enablePerfMgr이 사용하도록 설정되어 있으면 초기화 후 setPerfMgr() 없이도 PerfManager()의 기본 생성을 재정의할 수 있습니다.
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager 정의되지 않음
사용자 지정 헤더

사용자가 사용자 지정 엔드포인트를 사용할 때 추가 헤더를 제공할 수 있는 기능입니다. customHeaders는 비콘 발신자가 사용되는 브라우저 종료 순간에 추가되지 않습니다. 또한 IE9 이하에서는 사용자 지정 헤더 추가가 지원되지 않습니다.
[{header: string, value: string}] 정의되지 않음
진단 로그 간격

내부 로깅 큐의 (내부) 폴링 간격(밀리초)입니다.
숫자 1만
Ajax 추적 비활성화

True인 경우 Ajax 호출이 자동으로 수집되지 않습니다. 기본값은 false입니다.
부울 거짓
쿠키 사용 비활성화

기본값: false. SDK에서 쿠키 사용을 비활성화할지 여부를 나타내는 부울입니다. True인 경우 SDK가 쿠키의 데이터를 저장하거나 읽지 않습니다.
(v2.6.0 이상) cookieCfg.enabled가 정의되면 우선 적용됩니다. core.getCookieMgr().setEnabled(true)를 통해 초기화 후 쿠키 사용을 다시 활성화할 수 있습니다.
cookieCfg.enabled의 별칭
[선택 사항]
거짓
상관 관계 헤더 비활성화

False인 경우 SDK에서 모든 종속성 요청에 두 개의 헤더('Request-Id' 및 'Request-Context')를 추가하여 서버 쪽의 해당 요청과 상관 관계를 설정합니다. 기본값은 false입니다.
부울 거짓
데이터 손실 분석 비활성화

False인 경우 내부 원격 분석 보낸 사람 버퍼를 시작할 때 아직 보내지 않은 항목을 확인합니다.
부울 맞다
disableExceptionTracking (예외 추적 비활성화)

True인 경우 예외가 자동으로 수집되지 않습니다. 기본값은 false입니다.
부울 거짓
페치 추적 비활성화

disableFetchTracking의 기본 설정은 false입니다. 즉, 사용하도록 설정됩니다. 그러나 2.8.10 이전 버전에서는 기본적으로 사용하지 않도록 설정되었습니다. true로 설정하면 페치 요청이 자동으로 수집되지 않습니다. 버전 2.8.0에서 기본 설정이 true에서 false로 변경되었습니다.
부울 거짓
BeforeUnload 시 flush 비활성화

기본값: false. True인 경우 onBeforeUnload 이벤트가 트리거될 때 flush 메서드가 호출되지 않습니다.
부울 거짓
Ikey 사용 중단 메시지 비활성화

계측 키 사용 중단 오류 메시지를 사용하지 않도록 설정합니다. True이면 오류 메시지가 전송되지 않습니다.
부울 맞다
계측 키 검증 비활성화

True인 경우 계측 키 유효성 검사를 무시합니다. 기본값은 거짓입니다.
부울 거짓
원격 측정 비활성화

True인 경우 원격 분석이 수집되거나 전송되지 않습니다. 기본값은 false입니다.
부울 거짓
XHR 비활성화

기본적으로 XMLHttpRequest나 XDomainRequest(Internet Explorer < 버전 9의 경우)를 사용하지 말고 대신 fetch()나 sendBeacon을 사용해 보세요. 다른 전송을 사용할 수 없는 경우 XMLHttpRequest를 사용합니다.
부울 거짓
분산 추적 모드

분산 추적 모드를 설정합니다. AI_AND_W3C 모드 또는 W3C 모드를 설정하는 경우 W3C 추적 컨텍스트 헤더(traceparent/tracestate)가 생성되고 나가는 모든 요청에 포함됩니다. AI_AND_W3C는 Application Insights로 계측되는 레거시 서비스와의 하위 호환성을 위해 제공됩니다.
numeric 또는 DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText (AJAX 오류 상태 텍스트 활성화)

기본값: false. True인 경우 실패한 AJAX 요청에 대한 종속성 이벤트에 응답 오류 데이터 텍스트 부울을 포함합니다.
부울 거짓
Ajax 성능 추적 활성화 (enableAjaxPerfTracking)

기본값: false. 보고된 Ajax(XHR 및 페치) 메트릭에 추가 브라우저 window.performance 타이밍을 조회하고 포함할 수 있도록 하는 플래그입니다.
부울 거짓
자동 경로 추적 활성화

SPA(단일 페이지 애플리케이션)의 경로 변경 내용을 자동으로 추적합니다. True인 경우 각 경로 변경 시 Application Insights에 새 페이지 보기가 전송됩니다. 해시 경로 변경(example.com/foo#bar)도 새 페이지 보기로 기록됩니다.
참고: 이 필드를 사용하도록 설정하면 여러 페이지 보기 이벤트가 발생하므로 React 라우터 구성history개체를 사용하도록 설정 하지 마세요.
부울 거짓
CORS 연관 활성화

True인 경우 SDK에서 모든 CORS 요청에 두 개의 헤더('Request-Id' 및 'Request-Context')를 추가하여 나가는 AJAX 종속성과 해당 서버 쪽 요청 간의 상관 관계를 설정합니다. 기본값은 false입니다.
부울 거짓
enableDebug (디버그 활성화)

True인 경우 SDK 로깅 설정에 관계없이 내부 디버깅 데이터가 기록되는 대신 예외로 throw됩니다. 기본값은 false입니다.
참고: 이 설정을 사용하면 내부 오류가 발생할 때마다 원격 분석이 삭제됩니다. SDK의 구성 또는 사용과 관련된 문제를 신속하게 식별하는 데 유용할 수 있습니다. 디버깅하는 동안 원격 분석이 손실되지 않게 하려면 loggingLevelConsole 대신 loggingLevelTelemetry 또는 enableDebug을 사용하는 것이 좋습니다.
부울 거짓
enablePerfMgr

사용하도록 설정하면(true) doPerf() 도우미를 통해 perfEvents를 내보내도록 계측된 코드에 대한 로컬 perfEvents를 만듭니다. 이는 사용량에 따라 또는 계측된 코드 내에서 필요에 따라 SDK 내의 성능 문제를 식별할 수 있습니다.
부울 거짓
요청 헤더 추적 활성화

True인 경우 AJAX 및 페치 요청 헤더가 추적되고 기본값은 false입니다. ignoreHeaders가 구성되지 않은 경우 권한 부여 및 X-API-Key 헤더가 기록되지 않습니다.
부울 거짓
응답 헤더 추적 활성화

True인 경우 AJAX 및 페치 요청의 응답 헤더가 추적되고 기본값은 false입니다. ignoreHeaders가 구성되지 않은 경우 WWW-Authenticate 헤더가 기록되지 않습니다.
부울 거짓
세션스토리지버퍼활성화

기본값은 true입니다. True인 경우 모든 전송하지 않은 원격 분석을 포함하는 버퍼가 세션 스토리지에 저장됩니다. 페이지가 로드되면 버퍼가 복원됩니다.
부울 맞다
처리되지 않은 프로미스 거부 추적 활성화

True인 경우 처리되지 않은 약속 거부가 JavaScript 오류로 자동으로 수집됩니다. disableExceptionTracking이 true인 경우(예외를 추적하지 않음) 구성 값이 무시되고 처리되지 않은 약속 거부가 보고되지 않습니다.
부울 거짓
메모리 내 이벤트 제한 (eventsLimitInMem)

세션 스토리지(기본값)를 사용하지 않을 때 SDK가 이벤트를 삭제하기 시작하기 전에 메모리에 보관할 수 있는 이벤트 수입니다.
숫자 1만
자동 추적 패턴에서 요청 제외 (excludeRequestFromAutoTrackingPatterns)

XMLHttpRequest 또는 Fetch 요청에 대한 자동 추적에서 특정 경로를 제외하는 방법을 제공합니다. 정의된 경우 요청 URL이 정규식 패턴과 일치하는 Ajax/fetch 요청에 대해 자동 추적이 해제됩니다. 기본값은 정의되지 않았습니다.
string[] | RegExp[] 정의되지 않음
기능 참여 동의

기능 옵트인 세부 정보를 설정합니다.

이 구성 필드는 버전 3.0.3 이상에서만 사용할 수 있습니다.
IFeatureOptIn 정의되지 않음
아이디 길이

새 임의 세션 및 사용자 ID를 생성하는 데 사용되는 기본 길이를 식별합니다. 기본값은 22이고, 이전 기본값(v2.5.8 이하)은 5입니다. 이전 최대 길이를 유지해야 하는 경우 값을 5로 설정해야 합니다.
숫자 22 (이십이)
헤더 무시

AJAX 및 페치 요청 및 응답 헤더는 로그 데이터에서 무시됩니다. 기본값을 재정의하거나 취소하려면 제외할 모든 헤더가 있는 배열을 추가하거나 구성에 빈 배열을 추가합니다.
문자열[] ["인증", "X-API-Key", "WWW-인증"]
isBeaconApiDisabled

False인 경우 SDK가 비콘 API를 사용하여 모든 원격 분석을 전송합니다.
부울 맞다
isBrowserLinkTrackingEnabled (브라우저 링크 추적 기능 사용 가능 여부)

기본값은 false입니다. True인 경우 SDK가 모든 브라우저 링크 요청을 추적합니다.
부울 거짓
재시도비활성화됨

기본값: false. False인 경우 206(부분 성공), 408(시간 초과), 429(너무 많은 요청), 500(내부 서버 오류), 503(서비스를 사용할 수 없음), 0(오프라인, 검색된 경우만)에서 다시 시도합니다.
부울 거짓
저장소 사용 불가 여부

True인 경우 SDK가 로컬 및 세션 스토리지에서 데이터를 저장하거나 읽지 않습니다. 기본값은 false입니다.
부울 거짓
로그 레벨 콘솔

내부 Application Insights 오류를 콘솔에 기록합니다.
0: 꺼짐,
1: 심각한 오류만,
2: 모든 항목(오류 및 경고)
숫자 0
로깅 수준 원격 측정

내부 Application Insights 오류를 원격 분석으로 전송합니다.
0: 꺼짐,
1: 심각한 오류만,
2: 모든 항목(오류 및 경고)
숫자 1
maxAjaxCallsPerView (뷰당 최대 Ajax 호출 수)

기본값 500 - 페이지 보기당 모니터링할 Ajax 호출 수를 제어합니다. 페이지에서 모든 무제한 Ajax 호출을 모니터링하려면 -1로 설정합니다.
숫자 500
최대Ajax성능조회시도

기본값은 3입니다. window.performance 타이밍(사용 가능한 경우)을 찾는 최대 횟수입니다. 모든 브라우저가 XHR 요청의 끝을 보고하기 전에 window.performance를 채우는 것은 아닙니다. 페치 요청의 경우 완료된 후 추가됩니다.
숫자 3
최대 배치 간격

전송하기 전에 원격 분석을 일괄 처리하는 시간(밀리초)입니다.
숫자 15000
최대 배치 크기(바이트 단위)

원격 분석 일괄 처리의 최대 크기입니다. 일괄 처리가 이 제한을 초과하는 즉시 전송되고 새 일괄 처리가 시작됩니다.
숫자 1만
이름 접두사

localStorage 및 세션 쿠키 이름에 이름 접미사로 사용할 선택적 값입니다.
문자열 정의되지 않음
onunload 비콘 비활성화

기본값: false. 탭이 닫히면 SDK가 비콘 API를 사용하여 나머지 모든 원격 분석을 전송합니다.
부울 거짓
onunloadDisableFetch

페치 keepalive가 지원되는 경우 언로드 중에 이벤트를 보내는 데 사용하지 않으면 유지 관리 없이 fetch()로 대체됩니다.
부울 거짓
페이지뷰 지속시간 무시

True인 경우 trackPageView의 기본 동작이 trackPageView가 호출될 때 페이지 보기 기간의 끝을 기록하도록 변경됩니다. False로 설정하고 trackPageView에 사용자 지정 기간을 제공하지 않는 경우 페이지 보기 성능이 탐색 타이밍 API를 사용하여 계산됩니다. 기본값은 false입니다.
부울 거짓
perfEvtsSendAll

enablePerfMgr가 사용하도록 설정되고 IPerfManagerINotificationManager.perfEvent()를 실행하는 경우 이 플래그는 모든 이벤트(true)에 대해 또는 '부모' 이벤트(false <기본값>)에 대해서만 이벤트가 생성되고 모든 수신기에 전송되는지 여부를 결정합니다.
부모 IPerfEvent는 이 이벤트가 생성되는 시점에서 다른 IPerfEvent가 실행 중이지 않고 parent 속성이 Null이거나 정의되지 않은 경우의 이벤트입니다. v2.5.7 이상
부울 거짓
샘플링 비율

전송할 이벤트의 백분율입니다. 기본값은 100입니다. 즉, 모든 이벤트가 전송됩니다. 대규모 애플리케이션에 대한 데이터 상한을 유지하려는 경우에 설정합니다.
숫자 100
sdkExtension

SDK 확장 이름을 설정합니다. 영문자만 사용할 수 있습니다. 확장명이 'ai.internal.sdkVersion' 태그에 접두사로 추가됩니다(예: 'ext_javascript:2.0.0'). 기본값은 null입니다.
문자열
sessionCookiePostfix

세션 쿠키 이름에 이름 접미사로 사용할 선택적 값입니다. 정의되지 않은 경우 namePrefix는 세션 쿠키 이름의 이름 접미사로 사용됩니다.
문자열 정의되지 않음
세션만료밀리초

세션이 일정 시간(밀리초 단위) 이상 지속되면 해당 세션이 기록됩니다. 기본값은 24시간입니다.
숫자 86400000
세션갱신시간ms

사용자가 이 시간(밀리초) 동안 비활성 상태이면 세션이 기록됩니다. 기본값은 30분입니다.
숫자 1800000
스로틀 관리자 설정

키별로 제한 mgr 구성을 설정합니다.

이 구성 필드는 버전 3.0.3 이상에서만 사용할 수 있습니다.
{[key: number]: IThrottleMgrConfig} 정의되지 않음
userCookiePostfix

사용자 쿠키 이름에 이름 접미사로 사용할 선택적 값입니다. 정의되지 않으면 사용자 쿠키 이름에 접미사가 추가되지 않습니다.
문자열 정의되지 않음

버전 2.6.0부터 Azure Application Insights JavaScript SDK는 초기화 후 사용하지 않도록 설정하고 다시 사용하도록 설정할 수 있는 인스턴스 기반 쿠키 관리를 제공합니다.

disableCookiesUsage 또는 cookieCfg.enabled 구성을 사용하여 초기화하는 동안 쿠키를 사용하지 않도록 설정한 경우 setEnabled 함수를 사용하여 쿠키를 다시 사용하도록 설정할 수 있습니다.

인스턴스 기반 쿠키 관리는 이전의 CoreUtils 전역 함수 disableCookies(), setCookie(), getCookie(), deleteCookie()를 대체합니다.

버전 2.6.0에서 도입된 트리 흔들림 개선 사항을 활용하려면 더 이상 전역 함수를 사용하지 않는 것이 좋습니다.

ICookieMgrConfig는 2.6.0에 추가된 인스턴스 기반 쿠키 관리를 위한 쿠키 구성입니다. 제공된 옵션을 사용하면 SDK에서 쿠키 사용을 사용하거나 사용하지 않도록 설정할 수 있습니다. 사용자 지정 쿠키 도메인 및 경로를 설정하고 쿠키 가져오기, 설정 및 삭제를 위한 함수를 사용자 지정할 수도 있습니다.

ICookieMgrConfig 옵션은 다음 표에 정의되어 있습니다.

이름 유형 기본값 설명
활성화됨 부울 맞다 SDK의 현재 인스턴스는 이 부울을 사용하여 쿠키 사용을 활성화할지 여부를 나타냅니다. False인 경우 이 구성으로 초기화된 SDK의 인스턴스가 쿠키의 데이터를 저장하거나 읽지 않습니다.
도메인 문자열 사용자 지정 쿠키 도메인입니다. 하위 도메인에서 Application Insights 쿠키를 공유하려는 경우에 유용합니다. 지정하지 않으면 루트 cookieDomain 값의 값이 사용됩니다.
경로 문자열 / 쿠키에 사용할 경로를 지정합니다. 지정하지 않으면 루트 cookiePath 값의 값이 사용됩니다.
쿠키 무시 문자열[] 정의되지 않음 쿠키 이름을 무시하도록 지정하면 일치하는 쿠키 이름을 읽거나 쓰지 않습니다. 여전히 명시적으로 제거되거나 삭제될 수 있습니다. blockedCookies 구성에서 이름을 반복할 필요가 없습니다. (v2.8.8 이상)
차단된 쿠키 문자열[] 정의되지 않음 절대 쓰지 않을 쿠키 이름을 지정합니다. 쿠키 이름을 만들거나 업데이트할 수 없지만 ignoreCookies에 포함되지 않는 한 계속 읽을 수 있습니다. 여전히 명시적으로 제거되거나 삭제될 수 있습니다. 제공되지 않으면 ignoreCookies의 동일한 목록으로 기본 설정됩니다. (v2.8.8 이상)
쿠키가져오기 (name: string) => string 명명된 쿠키 값을 가져오는 함수입니다. 지정되지 않으면 내부 쿠키 구문 분석/캐싱이 사용됩니다.
쿠키설정 (name: string, value: string) => void 쿠키를 추가하거나 업데이트하는 경우에만 호출되어 명명된 쿠키를 지정된 값을 사용하여 설정하는 함수입니다.
쿠키삭제 (name: string, value: string) => void 쿠키를 추가 또는 제거할지 여부를 결정하기 위해 값을 구문 분석할 필요가 없도록 지정된 값을 사용하여 명명된 쿠키를 setCookie와 구분하여 삭제하는 함수입니다. 지정하지 않으면 내부 쿠키 구문 분석/캐싱이 사용됩니다.

원본 맵

소스 맵 지원을 사용하면 예외 원격 분석의 축소된 호출 스택을 수정할 수 있는 기능으로 축소된 JavaScript 코드를 디버그할 수 있습니다.

  • 예외 세부 정보 패널의 모든 현재 통합과 호환
  • SDK 업그레이드 없이 Node.JS를 포함하여 모든 현재 및 미래의 JavaScript SDK를 지원합니다.

Application Insights는 Azure Storage 계정 Blob 컨테이너에 대한 소스 맵의 업로드를 지원합니다. 소스 맵을 사용하여 엔드투엔드 트랜잭션 세부 정보 페이지에 있는 호출 스택을 축소 해제할 수 있습니다. 원본 맵을 사용하여 JavaScript SDK 또는 Node.js SDK에서 보낸 예외를 축소 해제할 수도 있습니다.

스토리지 계정과 연결하여 호출 스택 축소를 해제하는 옵션을 선택하는 방법을 보여 주는 스크린샷.

새 스토리지 계정 및 Blob 컨테이너 만들기

기존 스토리지 계정 또는 Blob 컨테이너가 이미 있는 경우 이 단계를 건너뛰어도 됩니다.

  1. 새 스토리지 계정을 만듭니다.

  2. 스토리지 계정에 Blob 컨테이너를 만듭니다. 공용 액세스 수준프라이빗으로 설정하여 소스 맵에 공개적으로 액세스할 수 없도록 합니다.

    컨테이너 액세스 수준을 프라이빗으로 설정하는 것을 보여 주는 스크린샷.

Blob 컨테이너에 소스 맵 푸시

구성된 Blob 컨테이너에 소스 맵을 자동으로 업로드하도록 구성하여 연속 배포 파이프라인을 스토리지 계정과 통합합니다.

소스 맵을 컴파일하고 배포된 것과 동일한 폴더 구조를 사용하여 Azure Blob Storage 컨테이너에 소스 맵을 업로드할 수 있습니다. 일반적인 사용 사례는 배포 폴더의 접두사로 버전을 추가하는 것입니다(예: 1.2.3/static/js/main.js). sourcemaps라는 Azure Blob 컨테이너를 통해 축소 해제하면 파이프라인은 sourcemaps/1.2.3/static/js/main.js.map에 있는 소스 맵을 가져오려고 시도합니다.

Azure Pipelines를 사용하여 애플리케이션을 지속적으로 빌드 및 배포하는 경우 Azure 파일 복사 작업을 파이프라인에 추가하여 소스 맵을 자동으로 업로드합니다.

소스 맵을 Azure Blob Storage에 업로드하기 위해 파이프라인에 Azure 파일 복사 작업을 추가하는 방법을 보여 주는 스크린샷.

소스 맵 스토리지 계정을 사용하여 Application Insights 리소스 구성

소스 맵 스토리지 계정으로 Application Insights 리소스를 구성하는 두 가지 옵션이 있습니다.

엔드투엔드 트랜잭션 세부 정보 탭

엔드투엔드 트랜잭션 세부 정보 탭에서 축소 해제를 선택합니다. 구성되지 않은 경우 리소스를 구성합니다.

  1. Azure Portal에서 축소된 예외의 세부 정보를 확인합니다.
  2. ‘축소 해제’를 선택합니다.
  3. 리소스가 구성되지 않은 경우 구성합니다.
속성 탭

Application Insights 리소스에 연결된 스토리지 계정 또는 Blob 컨테이너를 구성하거나 변경하려면 다음을 수행합니다.

  1. Application Insights 리소스의 속성 탭으로 이동합니다.

  2. 소스 맵 Blob 컨테이너 변경을 선택합니다.

  3. 소스 맵 컨테이너로 다른 Blob 컨테이너를 선택합니다.

  4. 적용을 선택합니다.

    속성 창에서 선택한 Azure Blob 컨테이너를 다시 구성하는 방법을 보여 주는 스크린샷.

축소되지 않은 호출 스택 보기

축소되지 않은 호출 스택을 보려면 Azure Portal에서 예외 원격 분석 항목을 선택하고, 호출 스택과 일치하는 원본 맵을 찾은 다음, 원본 맵을 Azure Portal의 호출 스택으로 끌어서 놓습니다. 원본 맵은 스택 프레임의 원본 파일과 이름이 동일해야 하지만 map 확장명이 있어야 합니다.

JavaScript 애플리케이션에 대한 원본 맵 지원과 관련된 문제가 발생하는 경우 JavaScript 애플리케이션에 대한 원본 맵 지원 문제 해결을 참조하세요.

축소 해제 기능을 보여 주는 애니메이션.

트리 쉐이킹

트리 쉐이킹은 최종 JavaScript 번들에서 사용되지 않는 코드를 제거합니다.

트리 쉐이킹을 활용하려면 SDK의 필요한 구성 요소만 코드로 가져옵니다. 이렇게 하면 사용되지 않는 코드가 최종 번들에 포함되지 않으므로 크기가 줄어들고 성능이 향상됩니다.

트리 쉐이킹 개선 사항 및 권장 사항

버전 2.6.0에서는 트리 쉐이킹 알고리즘에 대한 지원을 개선하기 위해 이러한 정적 도우미 클래스의 내부 사용을 더 이상 사용하지 않고 제거했습니다. 이를 통해 npm 패키지는 사용하지 않는 코드를 안전하게 삭제할 수 있습니다.

  • CoreUtils
  • EventHelper
  • Util
  • UrlHelper
  • DateTimeUtils
  • ConnectionStringParser

이제 함수가 모듈에서 최상위 루트로 내보내지므로 더 나은 트리 쉐이킹을 위해 코드를 더 쉽게 리팩터링할 수 있습니다.

정적 클래스는 내보낸 새 함수를 참조하는 const 개체로 변경되었으며 향후 변경 내용은 참조를 추가로 리팩터링할 계획입니다.

트리 쉐이킹 사용되지 않는 함수 및 교체

이 섹션은 사용되지 않는 함수를 사용하고 패키지 크기를 최적화하려는 경우에만 적용됩니다. 대체 함수를 사용하여 크기를 줄이고 모든 버전의 Internet Explorer를 지원하는 것이 좋습니다.

현존하는 대체 기능
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies 없음. 모든 CoreUtils 참조가 최종 코드에 포함되도록 하려면 이를 사용하지 마세요.
appInsights.getCookieMgr().setEnabled(true/false)를 사용하여 값을 설정하고 appInsights.getCookieMgr().isEnabled()를 사용하여 값을 확인하도록 쿠키 처리를 리팩터링합니다.
CoreUtils.isTypeof 타입 확인
CoreUtils.isUndefined 정의되지 않음 여부
CoreUtils.isNullOrUndefined (널 또는 정의되지 않음을 확인하는 함수) null이거나 정의되지 않은
CoreUtils.hasOwnProperty hasOwnProperty (자체 속성을 확인하는 메서드)
CoreUtils.isFunction isFunction
CoreUtils.isObject 객체인지
CoreUtils.isDate isDate
CoreUtils.isArray isArray
CoreUtils.isError 오류인가
CoreUtils.isString isString
CoreUtils.isNumber (숫자인지 확인하는 함수) isNumber
CoreUtils.isBoolean isBoolean
CoreUtils.toISOString (날짜와 시간을 ISO 형식 문자열로 변환) toISOString 또는 getISOString
CoreUtils.arrForEach arrForEach
CoreUtils.arrIndexOf 배열 인덱스 찾기
CoreUtils.arrMap arrMap
CoreUtils.arrReduce arrReduce
CoreUtils.strTrim strTrim (문자열의 앞뒤 공백을 제거하는 함수)
CoreUtils.objCreate objCreateFn
CoreUtils.objKeys objKeys
CoreUtils.objDefineAccessors 객체 접근자 정의
CoreUtils 클래스의 addEventHandler 메서드 이벤트 처리기 추가
CoreUtils.dateNow 현재 날짜
CoreUtils.isIE isIE
코어유틸스.쿠키비활성화 disableCookies
둘 중 하나를 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다.
appInsights.getCookieMgr().setEnabled(false)를 사용하도록 쿠키 처리를 리팩터링
CoreUtils.newGuid 새 GUID 생성
CoreUtils.perfNow 퍼포먼스나우
CoreUtils.newId 새로운아이디
CoreUtils.randomValue (랜덤 값 생성기) 임의값
CoreUtils.random32 랜덤32
CoreUtils.mwcRandomSeed mwc랜덤시드
CoreUtils.mwcRandom32 mwcRandom32
CoreUtils.generateW3CId (W3C ID를 생성하는 기능) generateW3CId (W3C ID 생성)
EventHelper @microsoft/applicationinsights-core-js
EventHelper.Attach 이벤트 연결
EventHelper.AttachEvent 이벤트 연결
EventHelper.Detach 이벤트 분리
EventHelper.DetachEvent (이벤트 해제) 이벤트 분리
유틸 @microsoft/applicationinsights-common-js
Util.지정되지 않음 지정되지 않음
Util.createDomEvent (돔 이벤트 생성 기능) 돔 이벤트 생성
유틸.저장 비활성화 utlDisableStorage
Util.isInternalApplicationInsightsEndpoint 내부애플리케이션인사이트엔드포인트인지
Util.canUseLocalStorage (로컬 스토리지를 사용할 수 있는지 확인하는 함수) 로컬 저장소를 사용할 수 있음
Util.getStorage 로컬 스토리지 가져오기 (utlGetLocalStorage)
Util.setStorage (스토리지 설정 기능) utlSet 지역 저장소
유틸.저장소제거 저장소 제거 함수 (utlRemoveStorage)
Util.canUseSessionStorage (세션 스토리지 사용 가능 확인) utlCanUseSessionStorage (세션 스토리지 사용 가능)
Util.getSessionStorageKeys (세션 저장소 키 가져오기) utlGetSessionStorageKeys
Util.getSessionStorage utlGetSessionStorage
Util.setSessionStorage (세션 저장소 설정) utlSetSessionStorage (세션 스토리지를 설정하는 함수)
Util.removeSessionStorage utlRemoveSessionStorage 세션 스토리지 제거
Util.쿠키사용중지 disableCookies
둘 중 하나를 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다.
appInsights.getCookieMgr().setEnabled(false)를 사용하도록 쿠키 처리를 리팩터링
Util.canUseCookies (쿠키 사용 가능 여부 확인) 쿠키사용가능여부
둘 중 하나를 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다.
appInsights.getCookieMgr().isEnabled()를 사용하도록 쿠키 처리를 리팩터링
사용 불가 SameSiteNone uaDisallowsSameSiteNone
Util.setCookie 코어셋쿠키
참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다.
appInsights.getCookieMgr().set(name: string, value: string)를 사용하도록 쿠키 처리를 리팩터링
Util.stringToBoolOrDefault 문자열을 불린값으로 기본값으로 설정
Util.getCookie coreGetCookie
참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다.
appInsights.getCookieMgr().get(name: string)를 사용하도록 쿠키 처리를 리팩터링
Util.deleteCookie (쿠키를 삭제하는 함수) coreDeleteCookie (코어 쿠키 삭제)
참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다.
appInsights.getCookieMgr().del(name: string, path?: string)를 사용하도록 쿠키 처리를 리팩터링
Util.trim strTrim (문자열의 앞뒤 공백을 제거하는 함수)
유틸.새ID 새로운아이디
Util.random32 (무작위 32비트 숫자를 생성하는 함수) ---
대체하지 않고 코어 random32(true)를 사용하도록 코드를 리팩터링합니다.
Util.generateW3CId generateW3CId (W3C ID 생성)
Util.isArray isArray
Util.isError 오류인가
Util.isDate isDate
Util.toISOStringForIE8 (IE8용 ISO 문자열 생성 함수) toISOString 메서드 (날짜를 ISO 문자열로 변환)
Util.getIEVersion getIEVersion
Util.msToTimeSpan (밀리초에서 시간 범위로 변환) msToTimeSpan
Util.isCrossOriginError 교차 출처 오류 확인
Util.dump (유틸리티 덤프) dumpObj
Util.getExceptionName 예외 이름 가져오기 함수 예외 이름 가져오기
Util.addEventHandler 이벤트 연결
Util.IsBeaconApiSupported (비콘 API 지원 여부 확인) Beacon API 지원 여부
Util.getExtension (확장자를 가져오는 기능) 확장자명으로 가져오기 (getExtensionByName)
UrlHelper @microsoft/applicationinsights-common-js
UrlHelper.parseUrl (URL을 분석하는 함수) urlParseUrl (URL을 분석하는 함수)
UrlHelper.getAbsoluteUrl (절대 경로 URL을 얻는 함수) urlGetAbsoluteUrl (URL 절대 경로 얻기)
UrlHelper.getPathName (URL 경로 이름 가져오기) URL 경로 이름 가져오기
UrlHelper.getCompeteUrl url전체주소얻기
UrlHelper.parseHost (URL 도우미 함수) URL 파싱 호스트
UrlHelper.전체호스트분석 URL 전체 호스트 분석
DateTimeUtils @microsoft/applicationinsights-common-js
DateTimeUtils.Now dateTimeUtilsNow
DateTimeUtils.GetDuration dateTimeUtilsDuration
ConnectionStringParser @microsoft/applicationinsights-common-js
연결문자열파서.parse 연결문자열 해석

서비스 알림

서비스 알림은 원격 분석이 Application Insights로 중단 없이 흐르도록 도와주는 실행 가능한 권장 사항을 제공하기 위해 SDK에 기본 제공되는 기능입니다. Application Insights 내에서 알림이 예외 메시지로 표시됩니다. SDK 설정에 따라 알림이 사용자와 관련이 있는지 확인하고 권장 사항의 긴급도에 따라 세부 정보를 조정합니다. 서비스 알림을 그대로 두는 것이 좋지만 구성을 통해 featureOptIn 옵트아웃할 수 있습니다. 활성 알림 목록은 아래를 참조하세요.

현재 활성 알림이 전송되지 않습니다.

서비스 알림은 JavaScript SDK에서 관리되며, 이러한 알림을 제어하고 업데이트하기 위해 공용 JSON 파일을 정기적으로 폴링합니다. JavaScript SDK에서 수행한 폴링을 사용하지 않도록 설정하려면 featureOptIn 모드사용하지 않도록 설정합니다.

문제 해결

전용 문제 해결 문서를 참조하세요.

다음 단계