NET 에이전트 HTTP 클라이언트 상관 관계 및 HTTP 백엔드 URL 경로 명명
경로 그룹은 HTTP 백엔드 URL 경로 접두사를 사용하여 정의한 웹 서비스 HTTP 클라이언트 요청의 명명된 그룹입니다.
apmdevops104kr
경로 그룹
은 HTTP 백엔드 URL 경로 접두사를 사용하여 정의한 웹 서비스 HTTP 클라이언트 요청의 명명된 그룹입니다.3
2
HTTP 클라이언트 상관 관계
.NET 에이전트 클라이언트 상관 관계는 서버에서 서버로의 페이지 요청으로 시작됩니다. 계측되는 서버는 다른 서버나 에이전트 또는 공용 웹 서비스에 대한 클라이언트 호출을 실행합니다. 따라서 호출하는 서버를
클라이언트
라고 하지만 기술적으로 해당 서버가 실제로 클라이언트인 것은 아닙니다. 서버를 계측하여 송신 요청 호출을 확인할 수 있습니다. 호출 대상 또한 에이전트에 의해 계측되는 다른 서버인 경우에는 호출 상관 관계가 지정될 수 있습니다..NET 에이전트 HTTP 클라이언트 상관 관계 프레임워크에는 다음과 같은 세 가지 .NET 라이브러리가 사용됩니다.
- System.Net.HttpWebRequest
- System.Web.WebClient
- System.Net.Http.HttpClient
HTTP 백엔드 경로 그룹 명명
.NET 응용 프로그램에서 실행되는 송신 HTTP 쿼리의 성능을 모니터링하기 위해 일련의 .NET HTTP 백엔드 경로 그룹 속성을 구성할 수 있습니다. HTTP 백엔드 데이터는 Investigator의 Backends|WebService at {프로토콜}_//{호스트}:{포트} 노드 아래에 표준 BlamePoint 메트릭으로 표시됩니다. 이러한 속성과 함께 트랜잭션 추적에 사용되는 HTTP 메서드 및 쿼리 매개 변수를 캡처하십시오. HTTP 4XX 또는 5XX 응답 코드가 수신될 때마다 오류 스냅숏이 생성되도록 구성할 수 있습니다.
이러한 introscopeAgent.profile HTTP 백엔드 경로 그룹 속성은 함께 작동합니다.
introscope.agent.backendpathgroup.group.keys=default introscope.agent.backendpathgroup.group.group.default.pathprefix=* introscope.agent.backendpathgroup.group.default.format=default
이 구성을 사용할 경우 기본 HTTP 백엔드 경로는 HTTP 백엔드 경로 그룹에 표시됩니다. 일반적으로 HTTP 백엔드 경로는 메트릭 브라우저의
Backends|WebService at {프로토콜}_//{호스트}_{포트}|Paths
노드 아래에 표시됩니다. 다양한 URL에 대한 더 많은 경로 세부 정보를 캡처하고 그룹화하려면 에이전트 프로필에서 URL 경로 그룹을 구성하십시오.
HTTP 백엔드 경로 그룹 사용
각 경로 그룹에 대한 메트릭은 Investigator 메트릭 브라우저 트리에서
Backends|WebService at <
노드 아래에 집계됩니다. 기본적으로 모든 HTTP 백엔드 URL 경로는 프로토콜
>_//<호스트
>_<포트
>|PathsDefault
그룹에 할당됩니다. 경로 그룹을 사용하면 HTTP 백엔드에서 호출되는 요청 수를 확인하고 성능 문제를 진단할 수 있습니다.다음 예에서는 메트릭 브라우저 트리에 표시되는 세 개의 HTTP 백엔드 URL 경로를 보여 줍니다.
Backends|WebService at http_//host_port|Paths|alphaHTTPClientPostBackends|WebService at http_//host_port|Paths|betaHTTPClientGetBackends|WebService at http_//host_port|Paths|Default
다음 예에서는 에이전트 프로필에서 세 개의 경로 그룹이 정의된 방식을 보여 줍니다.
introscope.agent.backendpathgroup.keys=alphaHTTPClientPost,betaHTTPClientGet,defaultintroscope.agent.backendpathgroup.group.alphaHTTPClientPost.pathprefix=/testWar/helloWorld/alphaHTTPClientPostintroscope.agent.backendpathgroup.group.alphaHTTPClientPost.format=alphaHTTPClientPostintroscope.agent.backendpathgroup.group.betaHTTPClientGet.pathprefix=/testWar/helloWorld/betaHTTPClientGetintroscope.agent.backendpathgroup.group.betaHTTPClientGet.format=betaHTTPClientGetintroscope.agent.backendpathgroup.group.default.pathprefix=*introscope.agent.backendpathgroup.group.default.format=Default
경로 그룹에 대한 키 정의
에이전트 프로필의
introscope.agent.backendpathgroup.keys
구분 기호 문자는 모든 경로 그룹의 키 목록을 정의합니다. 경로 그룹의 키는 해당 경로 그룹의 특성을 선언하는 다른 속성 정의에서 참조됩니다.introscope.agent.backendpathgroup.keys=alpha,beta,default
각 항목에는 경로를 정의하고 출력 결과를 매칭하는 데 사용되는 다음과 같은 두 개의 속성이 있습니다.
introscope.agent.backendpathgroup.group.[Key].pathprefixintroscope.agent.backendpathgroup.group.[Key].format
[
Key
] 항목은 명명된 속성을 찾는 데 사용됩니다. [
값은 다음과 같이 Key
]introscope.agent.backendpathgroup.keys
속성과 일치합니다.introscope.agent.backendpathgroup.keys=key_one,key_two,key_threeintroscope.agent.backendpathgroup.group.key_one.pathprefixintroscope.agent.backendpathgroup.group.key_one.formatintroscope.agent.backendpathgroup.group.key_two.pathprefixintroscope.agent.backendpathgroup.group.key_two.formatintroscope.agent.backendpathgroup.group.key_three.pathprefixintroscope.agent.backendpathgroup.group.key_three.format
일부 경로가 여러 그룹에 속하도록 경로 그룹을 정의할 수 있습니다. 이 경우
introscope.agent.backendpathgroup.keys
속성에서 경로 그룹에 대한 키를 나열하는 순서가 중요합니다. 그룹 구성원이 더 적은 경로 그룹은 그룹 구성원이 더 많은 경로 그룹보다 앞에 오도록 해야 합니다.각 경로 그룹의 구성원 자격 정의
introscope.agent.backendpathgroup.group.default.pathprefix
속성은 경로의 경로 접두사를 매칭할 패턴을 지정합니다. 이 매칭에 의해 경로 그룹에 속하는 요청이 정의됩니다.예: 그룹 키를 경로 접두사에 매핑
다음 속성 정의는 전체 URL 경로의 경로 부분이
/testWar
로 시작하는 모든 요청을 키가 alphaHTTPClientPost
인 경로 그룹에 할당합니다.introscope.agent.backendpathgroup.group.alphaHTTPClientPost.pathprefix=/testWar
지정된 pathprefix와 일치하는 요청은 다음을 포함합니다.
pathprefix
속성에서 별표 기호(*)를 와일드카드로 사용할 수 있습니다.경로 그룹의 이름 정의
introscope.agent.backendpathgroup.group.<키>.format
속성은 경로 그룹에 대한 응답 시간 메트릭이 생성될 때 사용되는 이름을 결정합니다.일반적으로
introscope.agent.backendpathgroup.group.<key>.format
속성은 경로의 이름으로 텍스트 문자열을 할당하는 데 사용됩니다. 다음 예는 키가 alpha
인 경로 그룹에 대한 메트릭이 메트릭 브라우저 트리에서 Alpha Group
이라는 이름 아래에 표시되도록 합니다.introscope.agent.backendpathgroup.group.alpha.format=Alpha Group
(선택 사항) 경로 그룹에 대한 고급 명명 기술
프로토콜과 같은 요청 요소나 요청 경로의 부분 문자열에서 경로 그룹 이름을 파생시킬 수 있습니다. 이 섹션에서는 i
ntroscope.agent.backendpathgroup.group.
<key>.format
속성의 고급 형식에 대해 설명합니다.요청 경로의 부분 문자열을 경로 그룹 이름으로 사용
경로 그룹에 대한 통계를 요청 경로 중 경로 부분의 부분 문자열을 반영하는 이름 아래에 구성할 수 있습니다. 다음과 같이
introscope.agent.backendpathgroup.group.<key>
.format
을 정의하십시오.introscope.agent.backendpathgroup.group.alpha.format={path_substring:m:n}
여기서
m
은 첫 번째 문자의 인덱스이고 n
은 마지막 문자의 인덱스보다 1만큼 더 큽니다. 문자열 선택은 java.lang.String.substring()
메서드와 같이 동작합니다. 예를 들어 다음과 같이 설정할 수 있습니다.introscope.agent.backendpathgroup.group.alpha.format={path_substring:0:3}
다음 URL이 사용됩니다.
통계는
/us
아래에 표시됩니다.경로 그룹화는 URL의 경로 부분에 대해서만 작동합니다. 앞의 예에서는
/testWar/helloWorld/alphaHTTPClientPost
에 해당합니다.요청 경로의 구분된 부분을 경로 그룹 이름으로 사용
경로 그룹에 대한 통계를 문자로 구분된 부분의 요청 경로를 반영하는 이름 아래에 구성하려면 다음과 같이
introscope.agent.backendpathgroup.group.alpha.format
속성을 정의하십시오.introscope.agent.backendpathgroup.group.alpha.format={path_delimited:delim_char:m:n}
delim_char
문자는 경로의 세그먼트를 구분합니다. m
값은 선택할 첫 번째 세그먼트의 인덱스이고, n
값은 선택할 마지막 세그먼트의 인덱스보다 1만큼 더 큰 값입니다. 예를 들어 다음과 같이 설정되었다고 가정해 보겠습니다.introscope.agent.backendpathgroup.group.alpha.format={path_delimited:/:2:4}
또한 다음 형식의 요청에 대한 통계가 있다고 가정해 보겠습니다.
이 통계는 메트릭 노드
/pageid
아래에 나타납니다.다음 규칙을 따르십시오.
- 구분 기호 문자는 한 세그먼트로 간주됩니다. 앞의 예에서 구분 기호 문자는 슬래시(/)입니다.
- 세그먼트 번호는 0부터 시작합니다.
- 경로 그룹화는 URL의 경로 부분에 대해서만 작동합니다. 앞의 예에서 URL의 경로 부분은/userid,sessionid/pageid입니다.
이 경로 예에서 슬래시 문자로 구분된 세그먼트는 다음과 같습니다.
0=
/
, 1=userid,sessionid
, 2=/
, 3=pageid
여러 구분자를 필요한 대로 지정할 수 있습니다. 예를 들어 다음과 같이 설정되었다고 가정해 보겠습니다.
introscope.agent.backendpathgroup.group.alpha.format={path_delimited:/,:3:4}
위 예에 표시된 형식의 요청에 대한 통계는
sessionid
노드 아래에 나타납니다. 이 경로 예에서 슬래시와 쉼표로 구분된 세그먼트는 다음과 같습니다.0=
/
, 1=userid
, 2=„,
3=sessionid
, 4=/
, 5=pageid