프런트엔드 URL 그룹 구성
프런트엔드 URL 그룹은 URL 경로 접두사를 사용하여 정의한 명명된 트랜잭션 그룹입니다. Introscope는 각 URL 그룹에 대한 메트릭을 집계합니다.
apmdevops104kr
프런트엔드 URL 그룹
은 URL 경로 접두사를 사용하여 정의한 명명된 트랜잭션 그룹입니다. Introscope는 각 URL 그룹에 대한 메트릭을 집계합니다.3
2
프런트엔드 URL 그룹 사용
이 메트릭은 Investigator 메트릭 브라우저 트리의 Frontends|Apps|<
응용 프로그램 이름
>|URLs 노드 아래에 표시됩니다. 경로 접두사는 호스트 이름 뒤에 오는 URL 부분입니다. 예를 들어 다음 URL에서 경로 접두사는 /testWar입니다.http://burger1.com/testWar/burgerServlet?ViewItem&category=11776&item=5550662630&rd=1
URL 경로 접두사에서 파생될 수 있는 모든 요청 범주에 대한 URL 그룹을 정의할 수 있습니다. 예를 들어 응용 프로그램 URL의 형식에 따라 몇 가지 방법으로 URL 그룹을 정의할 수 있습니다. 예를 들어 응용 프로그램이 지원하는 각 고객에 대한 그룹이나 각 주요 응용 프로그램 또는 하위 응용 프로그램에 대한 그룹이 이에 해당합니다. 이렇게 하면 약정한 서비스 수준의 관점에서 또는 응용 프로그램의 중요한 부분에 대해 성능을 모니터링할 수 있습니다.
예: URL 그룹 속성이 정의되는 방식
다음 예는 Java 에이전트 프로필의 일부로, URL 그룹이 정의되는 방식을 보여 줍니다.
introscope.agent.urlgroup.keys=alpha,beta,gammaintroscope.agent.urlgroup.group.alpha.pathprefix=/testWarintroscope.agent.urlgroup.group.alpha.format=foo {host} bar {protocol} baz {port} quux {query_param:foo} red {path_substring:2:5} yellow {path_delimited:/:0:1} green {path_delimited:/:1:4} blue {path_substring:0:0}introscope.agent.urlgroup.group.beta.pathprefix=/nofilterWarintroscope.agent.urlgroup.group.beta.format=nofilter foo {host} bar {protocol} baz {port} quux {query_param:foo} red {path_substring:2:5} yellow {path_delimited:/:0:1} green {path_delimited:/:1:4} blue {path_substring:0:0}introscope.agent.urlgroup.group.gamma.pathprefix=/examplesWebAppintroscope.agent.urlgroup.group.gamma.format=Examples Web App
URL 그룹에 대한 키 정의
introscope.agent.urlgroup.keys
속성은 모든 URL 그룹의 ID 또는 키 목록을 정의합니다. URL 그룹의 키는 URL 그룹의 특성을 선언하는 다른 속성 정의에서 참조됩니다. 다음 예는 3개의 URL 그룹에 대한 키를 정의합니다.introscope.agent.urlgroup.keys=alpha,beta,gamma
일부 URL이 여러 그룹에 속하도록 URL 그룹을 정의할 수 있습니다. 이 경우 속성에서 URL 그룹에 대한 키를 나열하는 순서는 중요합니다. 그룹 구성원이 더 적은 URL 그룹은 그룹 구성원이 더 많은 URL 그룹보다 앞에 오도록 해야 합니다.
예:
키가
alpha
인 IP 그룹의 경로 접두사가 다음과 같습니다./examplesWebApp
키가
delta
인 URL 그룹의 경로 접두사가 다음과 같습니다./examplesWebApp/cleverones
올바른 키 정의의 경우에는 keys 매개 변수에서
delta
가 alpha
보다 앞에 옵니다.각 URL 그룹의 구성원 자격 정의
introscope.agent.urlgroup.group.groupKey.pathprefix
속성은 URL 경로 접두사를 매칭할 패턴을 지정합니다. 이 매칭에 의해 URL 그룹에 속하는 요청이 정의됩니다.예: 그룹 키를 URL 경로 접두사에 매핑
이 속성 정의는 URL 경로 부분이
/testWar
로 시작하는 모든 요청을 키가 alpha
인 URL 그룹에 할당합니다.introscope.agent.urlgroup.group.alpha.pathprefix=/testWar
지정된
pathprefix
와 일치하는 요청은 다음을 포함합니다.http://burger1.com/testWar/burgerServlet?ViewItem&category=11776&item=5550662630&rd=1http://burger1.com/testWar/burgerServlet?Command=Order&item=5550662630
예: 응용 프로그램 경로별로 URL 그룹 만들기
콜센터 서비스를 제공하는 회사에서 기능 영역에 대한 응답 시간을 모니터링할 수 있습니다. APM 관리자는 각 응용 프로그램 기능에 대한 URL 그룹을 설정할 수 있습니다. 고객이 다음 URL로 서비스에 액세스하면:
http://genesystems/us/application_function/
여기서 application_function은 OrderEntry, AcctService, Support 등의 응용 프로그램을 나타내고, 각 URL 그룹의
pathprefix
속성은 적절한 application_function을 지정합니다.참고:
pathprefix
속성에서 별표 기호(*)를 와일드카드로 사용할 수 있습니다.URL 그룹의 이름 정의
introscope.agent.urlgroup.group.groupKey.format
속성은 키가 groupKey
인 URL 그룹에 대한 응답 시간 메트릭이 Workstation에 표시되는 이름을 결정합니다.일반적으로
introscope.agent.urlgroup.group.groupKey.format
속성은 URL의 이름으로 텍스트 문자열을 할당하는 데 사용됩니다. 다음 예는 키가 alpha
인 URL 그룹에 대한 메트릭이 Workstation에서 Alpha Group
이라는 이름 아래에 표시되도록 합니다.introscope.agent.urlgroup.group.alpha.format=Alpha Group
(선택 사항) URL 그룹에 대한 고급 명명 기술
요청 요소에서 URL 그룹 이름을 파생시킬 수 있습니다. 예를 들어 서버 포트, 프로토콜 또는 요청 URL의 부분 문자열에서 파생시킬 수 있습니다. 이 파생 기능은 요청을 검사하는 방법으로 응용 프로그램 모듈이 쉽게 구분되는 경우에 유용합니다. 이 섹션에서는 introscope.agent.urlgroup.group.alpha.format 속성의 고급 형식에 대해 설명합니다.
URL 그룹 이름으로 호스트 사용
URL 그룹에 대한 메트릭을 요청과 관련된 HTTP 서버의 호스트 이름을 반영하는 이름 아래에 구성할 수 있습니다. 다음 예와 같이
introscope.agent.urlgroup.group.alpha.format
매개 변수를 정의하십시오.introscope.agent.urlgroup.group.alpha.format={host}
format={host}
인 경우 이러한 요청에 대한 통계는 각각 메트릭 이름 us.mybank.com
과 uk.mybank.com
아래에 표시됩니다.https://us.mybank.com/mifi/loanApp.....
.
https://uk.mybank.com/mifi/loanApp....
.
URL 그룹 이름으로 프로토콜 사용
URL 그룹에 대한 통계를 요청과 관련된 프로토콜을 반영하는 이름 아래에 구성할 수 있습니다. 다음 예와 같이 introscope.agent.urlgroup.group.alpha.format 매개 변수를 정의하십시오.
introscope.agent.urlgroup.group.alpha.format={protocol}
format={protocol}인 경우 Investigator에서 요청 URL의 프로토콜 부분에 해당하는 메트릭 이름 아래에 통계가 그룹화됩니다. 예를 들어 다음과 같은 요청에 대한 통계는 메트릭 이름 https 아래에 표시됩니다.
https://us.mybank.com/cgi-bin/mifi/scripts......
https://uk.mybank.com/cgi-bin/mifi/scripts......
URL 그룹 이름으로 포트 사용
URL 그룹에 대한 통계를 요청과 관련된 포트를 반영하는 이름 아래에 구성할 수 있습니다. 다음 예와 같이
introscope.agent.urlgroup.group.alpha.format
매개 변수를 정의하십시오.introscope.agent.urlgroup.group.alpha.format={port}
format={port}
인 경우 요청 URL의 포트 부분에 해당하는 이름 아래에 통계가 그룹화됩니다. 예를 들어 다음과 같은 요청에 대한 통계는 9001
이라는 이름 아래에 표시됩니다.https://us.mybank.com:9001/cgi-bin/mifi/scripts.....
.
https://uk.mybank.com:9001/cgi-bin/mifi/scripts...
...
URL 그룹 이름으로 매개 변수 사용
Investigator에서 URL 그룹에 대한 통계를 요청과 관련된 매개 변수 값을 반영하는 메트릭 이름 아래에 구성할 수 있습니다. 다음 예와 같이
introscope.agent.urlgroup.group.alpha.format
매개 변수를 정의하십시오.introscope.agent.urlgroup.group.alpha.format={query_param:param}
format={query_param:param},
인 경우 Investigator에서 지정된 매개 변수의 값에 해당하는 메트릭 이름 아래에 통계가 그룹화됩니다. 매개 변수가 없는 요청은 <empty
> 아래에 나열됩니다. 예를 들어, 매개 변수 정의가 아래와 같은 경우:introscope.agent.urlgroup.group.alpha.format={query_param:category}
이 경우 다음과 같은 요청에 대한 통계는 메트릭 이름
734
아래에 표시됩니다.http://ubuy.com/ws/shoppingServlet?ViewItem&category=734&item=3772&tc=photohttp://ubuy.com/ws/shoppingServlet?ViewItem&category=734&item=8574&tc=photo
요청 경로의 부분 문자열을 URL 그룹 이름으로 사용
URL 그룹에 대한 통계를 요청 URL 중 경로 부분의 부분 문자열을 반영하는 이름 아래에 구성하려면 다음 예와 같이
introscope.agent.urlgroup.group.groupKey.format
매개 변수를 정의하십시오.introscope.agent.urlgroup.group.alpha.format={path_substring:m:n}
여기서
m
은 첫 번째 문자의 인덱스이고 n
은 마지막 문자의 인덱스보다 1만큼 더 큽니다. 문자열 선택은 java.lang.String.substring()
메서드와 같이 동작합니다. 예를 들어 다음과 같이 설정되었다고 가정해 보겠습니다.introscope.agent.urlgroup.group.alpha.format={path_substring:0:3}
다음 요청에 대한 통계는 메트릭 노드
/ht
아래에 표시됩니다.http://research.com/htmldocu/WebL-12.html
요청 경로의 구분된 부분을 URL 그룹 이름으로 사용
URL 그룹에 대한 통계를 문자로 구분된 부분의 요청 URL 경로를 반영하는 이름 아래에 구성할 수 있습니다. 다음 예와 같이
introscope.agent.urlgroup.group.alpha.format
매개 변수를 정의하십시오.introscope.agent.urlgroup.group.alpha.format={path_delimited:delim_char:m:n}
여기서
delim_char
는 경로의 세그먼트를 구분하는 문자이고, m
은 선택할 첫 번째 세그먼트의 인덱스이며, n
은 선택할 마지막 세그먼트의 인덱스보다 1만큼 더 큰 값입니다. 구분 기호 문자는 한 세그먼트로 간주됩니다. 세그먼트 번호는 0부터 시작합니다.예를 들어 다음과 같이 설정되었다고 가정해 보겠습니다.
introscope.agent.urlgroup.group.alpha.format={path_delimited:/:2:4}
이 형식의 요청에 대한 통계는
/pageid
라는 메트릭 아래에 표시됩니다.http://www.buyitall.com/userid,sessionid/pageid
이 예의 구분 기호 문자는 슬래시(/)입니다.
이 URL 예제에서 슬래시 문자로 구분된 세그먼트는 다음과 같습니다.
0=
/
, 1=userid,sessionid
, 2=/
, 3=pageid
여러 구분자를 필요한 대로 지정할 수 있습니다. 예를 들어 다음과 같이 설정되었다고 가정해 보겠습니다.
introscope.agent.urlgroup.group.alpha.format={path_delimited:/,:3:4}
이 설정 예에 표시된 형식의 요청에 대한 통계는 메트릭 이름
sessionid
아래에 나타납니다. 이 URL 예에서는 슬래시와 쉼표로 다음과 같이 세그먼트를 구분합니다.0=
/
, 1=userid
, 2=„,
3=sessionid
, 4=/
, 5=pageid
URL 그룹에 대한 다중 명명 방법 사용
이 예와 같이 하나의
introscope.agent.urlgroup.group.alpha.format
문자열에 여러 명명 방법을 결합할 수 있습니다.introscope.agent.urlgroup.group.alpha.format=red {host} orange {protocol} yellow {port} green {query_param:foo} blue {path_substring:2:5} indigo {path_delimited:/:0:1} violet {path_delimited:/:1:4} ultraviolet {path_substring:0:0} friend computer
URL 그룹에 대한 문자 인코딩 지정
CEM 비즈니스 트랜잭션 쿼리 및 게시 매개 변수 매칭을 수행할 때 요청에 문자 인코딩 집합이 포함되지 않은 경우도 있습니다.
이럴 때 URL 그룹을 정의할 경우
introscope.agent.urlgroup.group.default.charEncoding
속성을 사용하여 CEM 비즈니스 트랜잭션 쿼리 및 게시 매개 변수를 매칭하는 과정에서 사용할 문자 인코딩 집합을 지정할 수 있습니다.다음과 같이 CEM 비즈니스 트랜잭션 쿼리 및 게시 매개 변수 요청 매칭에 적절한 문자 인코딩을 사용하십시오.
- ISO-8859-1CA CEM에 대한 기본 문자 인코딩으로, HTTP 및 MIME 텍스트 기본값입니다.
- UTF-8UNIX/Linux에서 유니코드를 인코딩하기 위한 표준이며, 다국어 웹 사이트의 기본 표준입니다.
- EUC-JPUNIX/Linux에 대한 일본어 문자 인코딩입니다.
- Shift-JISMicrosoft Windows에 대한 일본어 문자 인코딩입니다.
- ISO-2022-JP더블바이트 코딩 간지(일본어 쓰기에서 사용되는 중국어 문자)입니다.
- Windows-31JNEC 특수 문자 및 IBM 확장명을 지원하는 Shift-JIS에 대한 Microsoft Windows 확장입니다.
- GB2312중국어 간체에 대한 문자 인코딩입니다.
- Big5중국어 번체에 대한 문자 인코딩입니다.
- EUC-KR한국어에 대한 문자 인코딩입니다.
다음 예와 같이
introscope.agent.urlgroup.group.default.charEncoding
속성을 설정하십시오.introscope.agent.urlgroup.group.default.charEncoding=ISO-8859-1
URLGrouper 실행
URLGrouper는 일반 로그 형식으로 웹 서버 로그 파일을 분석하는 명령줄 유틸리티입니다. URLGrouper를 사용하면 사용자 고유의 URL 그룹을 손쉽게 정의할 수 있습니다. URLGrouper.jar 파일은 <
에이전트 홈
>/tools 디렉터리에 있습니다.URLGRouper를 사용하여 웹 서버 로그 파일을 분석할 수 있습니다. URLGrouper는 웹 서버 로그 파일의 내용을 기반으로 잠재적 URL 그룹에 대한 일련의 속성 설정을 생성합니다. URLGrouper를 실행할 때 별표 기호(*)를 와일드카드로 사용할 수 있습니다.
다음 단계를 따르십시오.
- 명령 셸을 엽니다.
- 다음 명령을 입력합니다.java -jar urlgrouper.jar <logfile>여기서 <logfile>은 웹 서버 로그 파일의 전체 경로입니다.URLGrouper는 일련의 URL 그룹에 대한 속성 정의를 STDOUT에 생성합니다.
- 제안된 URL 그룹을 구성하려면 URLGrouper에서 생성된 속성 문을 IntroscopeAgent.profile에 복사합니다.
고유 프런트엔드 URL 그룹 메트릭의 수 제한
introscope.agent.urlgroup.frontend.url.clamp
속성을 사용하여 Java 에이전트가 생성하는 고유 프런트엔드 URL 그룹 메트릭의 수를 제한할 수 있습니다. 새 URL 그룹의 수가 설정된 값에 도달하면 새 URL 그룹에 대한 메트릭은 메트릭 브라우저의 Frontends|Apps|URLs|Default
노드 아래에 표시됩니다. 이 속성은 메트릭 급증을 방지하는 데 유용합니다.Frontends|Apps|URLs
노드에서 의미 있는 메트릭을 수집하려면 배포 환경과 관련된 URL 그룹을 설정하십시오.다음 단계를 따르십시오.
- <에이전트 홈>/core/config 디렉터리에 있는 IntroscopeAgent.profile을 텍스트 편집기에서 엽니다.
- "URL Grouping Configuration" 섹션으로 이동합니다.
- introscope.agent.urlgroup.frontend.url.clamp속성을 구성합니다.기본 URL 그룹 수는 5개입니다.
- 파일을 저장하고 닫습니다.관리되는 응용 프로그램을 다시 시작할 필요가 없습니다.
프런트엔드 URL 그룹 이름 지정
다음 프런트엔드 URL 그룹 속성은 모두가 introscopeAgent.profile의 기본 설정 값으로 설정된 경우에 함께 작동합니다.
introscope.agent.urlgroup.keys=default introscope.agent.urlgroup.group.default.pathprefix=* introscope.agent.{path_delimited:/:0:5}.group.default.format={path_delimited:/:0:5} introscope.agent.urlgroup.frontend.url.clamp=5
이 구성을 사용할 경우 기본 프런트엔드 URL은 URL 경로 중 URL 포트 뒷부분에 있는 두 개의 디렉터리로 명명되고 배치된 URL 그룹에 표시됩니다.
예를 들어 URL 경로 http://localhost:80/abc/def/index.jsp에서 포트는 80입니다. 메트릭 브라우저에서 URL http://localhost:80/abc/def/index.jsp를 사용하는 프런트엔드는
Frontends|Apps|URLs|
abc/def
/ 노드 아래에 나열됩니다. 모든 Java 응용 프로그램에서 생성된 프런트엔드 URL 그룹의 수가 introscope.agent.urlgroup.frontend.url.clamp
설정에 도달하면 새 URL은 Frontends|Apps|URLs|Default
노드 아래에 표시됩니다. 프런트엔드 리소스 URL 그룹
프런트엔드 URL 그룹에는 예를 들어 <
파일 이름
>.png의 png와 같은 특정 파일 확장명이 포함될 수 있습니다. 이러한 확장명을 리소스
라고 합니다. introscope.agent.urlgroup.frontend.url.resources.list
속성은 파일 확장명 유형을 지정합니다. 기본 설정은 다음과 같습니다.introscope.agent.urlgroup.frontend.url.resources.list=tif,tiff,jpg,jpeg,gif,png,bmp,bmpf,ico,cur,xbm,svg,img,css,woff,nil
에 나열된 리소스가 프런트엔드 URL에 포함된 경우 해당 리소스는introscope.agent.urlgroup.frontend.url.resources.list
Frontends|Apps|URLs|Resources
노드 아래에 표시됩니다. 리소스 URL 그룹은 잘못된 URL로 인해 고유한 1회성 메트릭이 생성되고 많은 양의 Enterprise Manager 메모리가 사용되는 것을 방지합니다. 잘못된 URL의 일반적인 예는 404 오류를 생성하는 URL입니다.