프런트엔드 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,gamma
introscope.agent.urlgroup.group.alpha.pathprefix=/testWar
introscope.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=/nofilterWar
introscope.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=/examplesWebApp
introscope.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=1
http://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=photo
http://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-1
    CA CEM에 대한 기본 문자 인코딩으로, HTTP 및 MIME 텍스트 기본값입니다.
  • UTF-8
    UNIX/Linux에서 유니코드를 인코딩하기 위한 표준이며, 다국어 웹 사이트의 기본 표준입니다.
  • EUC-JP
    UNIX/Linux에 대한 일본어 문자 인코딩입니다.
  • Shift-JIS
    Microsoft Windows에 대한 일본어 문자 인코딩입니다.
  • ISO-2022-JP
    더블바이트 코딩 간지(일본어 쓰기에서 사용되는 중국어 문자)입니다.
  • Windows-31J
    NEC 특수 문자 및 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를 실행할 때 별표 기호(*)를 와일드카드로 사용할 수 있습니다.
다음 단계를 따르십시오.
  1. 명령 셸을 엽니다.
  2. 다음 명령을 입력합니다.
    java -jar urlgrouper.jar <
    logfile
    >
    여기서 <
    logfile
    >은 웹 서버 로그 파일의 전체 경로입니다.
    URLGrouper는 일련의 URL 그룹에 대한 속성 정의를 STDOUT에 생성합니다.
  3. 제안된 URL 그룹을 구성하려면 URLGrouper에서 생성된 속성 문을 IntroscopeAgent.profile에 복사합니다.
고유 프런트엔드 URL 그룹 메트릭의 수 제한
introscope.agent.urlgroup.frontend.url.clamp
속성을 사용하여 Java 에이전트가 생성하는 고유 프런트엔드 URL 그룹 메트릭의 수를 제한할 수 있습니다. 새 URL 그룹의 수가 설정된 값에 도달하면 새 URL 그룹에 대한 메트릭은 메트릭 브라우저의
Frontends|Apps|URLs|Default
노드 아래에 표시됩니다. 이 속성은 메트릭 급증을 방지하는 데 유용합니다.
Frontends|Apps|URLs
노드에서 의미 있는 메트릭을 수집하려면 배포 환경과 관련된 URL 그룹을 설정하십시오.
다음 단계를 따르십시오.
  1. <
    에이전트 홈
    >/core/config 디렉터리에 있는 IntroscopeAgent.profile을 텍스트 편집기에서 엽니다.
  2. "URL Grouping Configuration" 섹션으로 이동합니다.
  3. introscope.agent.urlgroup.frontend.url.clamp
    속성을 구성합니다.
    기본 URL 그룹 수는 5개입니다.
  4. 파일을 저장하고 닫습니다.
    관리되는 응용 프로그램을 다시 시작할 필요가 없습니다.
프런트엔드 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
introscope.agent.urlgroup.frontend.url.resources.list
에 나열된 리소스가 프런트엔드 URL에 포함된 경우 해당 리소스는
Frontends|Apps|URLs|Resources
노드 아래에 표시됩니다.  
리소스 URL 그룹은 잘못된 URL로 인해 고유한 1회성 메트릭이 생성되고 많은 양의 Enterprise Manager 메모리가 사용되는 것을 방지합니다. 잘못된 URL의 일반적인 예는 404 오류를 생성하는 URL입니다.