server-root/extras/log_anly 디렉토리에는 Server Manager 사용자 인터페이스를 통해 실행할 수 있는 로그 분석 도구가 있습니다. 이 로그 분석기는 오직 공통 로그 형식의 파일만 분석합니다. 도구의 매개 변수를 설명하는 log_anly 디렉토리 내의 HTML 문서입니다. server-install/extras/ flexanlg 디렉토리에는 유연한 로그 파일 형식용 명령줄 로그 분석기가 있습니다. 그러나 Server Manager는 선택한 로그 파일 형식과 관계 없이 기본적으로 유연한 로그 파일 보고 도구를 사용합니다.
로그 분석기를 사용하여 작동 요약, 가장 많이 액세스된 URL, 하루 중 서버에 대한 액세스가 가장 많은 시간, 등의 기본 서버에 대한 통계를 생성합니다. 또한 Proxy Server 또는 명령줄에서 로그 분석기를 실행할 수 있습니다.
flexanlg 명령줄 유틸리티를 실행하기 전에 반드시 라이브러리 경로를 설정해야 합니다. 다양한 플랫폼용 설정은 다음과 같습니다.
Solaris 및 Linux:
LD_LIBRARY_PATH=server-root/bin/proxy/lib:$LD_LIBRARY_PATH
AIX:
LIBPATH=server-root/bin/proxy/lib:$LIBPATH
HP-UX:
SHLIB_PATH=server-root/bin/proxy/lib:$SHLIB_PATH
Windows:
path=server-root\\bin\\proxy\\bin;%path%
로그 분석기를 실행하기 전에 서버 로그를 보관해야 합니다. 서버 로그 보관에 대한 자세한 내용은 로그 파일 보관을 참조하십시오.
또한 라이브러리 경로를 설정하는 대신 server-root/proxy-serverid 디렉토리로 변경한 후 명령 프롬프트에서 ./start -shell을 입력할 수 있습니다.
Extended 또는 Extended-2 로깅 형식을 사용하는 경우 로그 분석기는 보고하도록 지정한 정보 외에도 출력 파일 내에 여러 보고서를 생성합니다. 다음 절에서는 이러한 보고서에 대해 설명합니다.
전송 시간 분산 보고서는 프록시 서버가 요청을 전송하는 데 걸린 시간을 표시합니다. 이 보고서에는 서비스 시간 및 완료율(%)을 기준으로 분류된 정보가 표시됩니다. 다음은 전송 시간 분산 보고서의 예입니다.
서비스 시간 기준:
< 1 sec [644%] ........................................
< 2 sec [33.3%] ....................
< 3 sec [ 2.7%] .
< 4 sec [ 1.7%] .
< 5 sec [ 0.6%]
< 6 sec [ 0.4%]
< 7 sec [ 0.2%]
< 8 sec [ 0.0%]
< 9 sec [ 0.0%]
완료율(%) 기준:
< 1 sec [64.4%] ........................................
< 2 sec [97.7%] ....................................
< 3 sec [100.4%]..............................................
데이터 흐름 보고서는 클라이언트에서 프록시, 프록시에서 클라이언트, 프록시에서 원격 서버 및 원격 서버에서 프록시로의 데이터 흐름(전송된 바이트 수)을 표시합니다. 보고서에는 이러한 각 시나리오에 대해 헤더 및 컨텐트 형식으로 전송된 데이터 양이 표시됩니다. 또한 데이터 흐름 보고서에는 캐시에서 클라이언트로의 데이터 흐름이 표시됩니다. 다음은 데이터 흐름 보고서의 예입니다.
상태 코드 보고서는 프록시 서버가 원격 서버에서 수신하고 클라이언트로 전송한 상태 코드와 상태 코드 수를 표시합니다. 또한 상태 코드 보고서는 이러한 모든 상태 코드에 대한 설명을 제공합니다. 다음은 상태 코드 보고서의 예입니다.
요청 및 연결 보고서는 프록시 서버가 클라이언트에서 수신한 요청 수, 원격 서버에 대한 프록시 연결 수(초기 검색, 최신 상태 검사 및 새로 고침) 및 캐시된 문서를 사용하여 프록시 서버가 회피한 원격 연결 수를 표시합니다. 다음은 요청 및 연결 보고서의 예입니다.
- Total requests............. 478 - Remote connections......... 439 - Avoided remote connects.... 39 [ 8.2%]
캐시 성능 보고서는 클라이언트 캐시, 프록시 서버 캐시 및 직접 연결의 성능을 표시합니다.
클라이언트 캐시 적중은 클라이언트가 문서에서 최신 상태 검사를 수행하고 원격 서버가 클라이언트 문서가 수정되지 않았음을 알려 주는 304 메시지를 반환하는 경우 발생합니다. 클라이언트에 의해 시작된 최신 상태 검사는 클라이언트의 캐시 내에 고유한 문서 사본이 있음을 표시합니다.
클라이언트 캐시의 경우 보고서는 다음을 표시합니다.
Client and proxy cache hits:프록시 서버 및 클라이언트에 모두 요청된 문서의 사본이 있으며 프록시 사본과 관련된 최신 상태 검사를 위해 원격 서버를 쿼리한 다음 프록시 사본에 대해 클라이언트 요청을 평가하는 클라이언트 캐시 적중 횟수. 캐시 성능 보고서는 프록시가 처리한 이 유형의 요청 수와 이러한 요청을 처리하는 데 소요된 평균 시간을 표시합니다.
Proxy shortcut no-check:프록시 서버 및 클라이언트에 모두 요청된 문서의 사본이 있으며 프록시 서버가 원격 서버를 검사하지 않고 클라이언트에게 클라이언트 캐시의 문서가 최신 상태임을 알리는 클라이언트 적중 횟수. 캐시 성능 보고서는 프록시가 처리한 이 유형의 요청 수와 이러한 요청을 처리하는 데 소요된 평균 시간을 표시합니다.
Client cache hits only:클라이언트에만 요청된 문서의 사본이 있는 클라이언트 캐시 적중 횟수. 이러한 유형의 요청에서 프록시 서버는 직접 클라이언트의 If-modified-since GET 헤더를 터널링합니다. 캐시 성능 보고서는 프록시가 처리한 이 유형의 요청 수와 이러한 요청을 처리하는 데 소요된 평균 시간을 표시합니다.
Total client cache hits:총 클라이언트 캐시 적중 횟수 및 이러한 요청을 처리하는 데 소요된 평균 시간입니다.
프록시 캐시 적중은 클라이언트가 프록시 서버에서 문서를 요청하고 프록시 서버의 캐시에 이미 문서가 있는 경우 발생합니다. 프록시 서버의 캐시 적중 횟수의 경우 보고서는 다음을 표시합니다.
Proxy cache hits with check:문서에 대한 최신 상태 검사를 위해 프록시 서버가 원격 서버를 쿼리하는 프록시 캐시 적중 횟수. 캐시 성능 보고서는 프록시가 처리한 이 유형의 요청 수와 이러한 요청을 처리하는 데 소요된 평균 시간을 표시합니다.
Proxy cache hits without check:프록시 서버의 프록시 캐시 적중 횟수는 문서에 대한 최신 상태를 검사하기 위해 원격 서버를 쿼리하지 않습니다. 캐시 성능 보고서는 프록시가 처리한 이 유형의 요청 수와 이러한 요청을 처리하는 데 소요된 평균 시간을 표시합니다.
pure proxy cache hits:클라이언트에 요청된 문서의 사본이 없는 프록시 캐시 적중 횟수. 캐시 성능 보고서는 프록시가 처리한 이 유형의 요청 수와 이러한 요청을 처리하는 데 소요된 평균 시간을 표시합니다.
결합된 프록시 캐시 적중 횟수의 경우 보고서는 총 프록시 서버 캐시 적중 횟수 및 이러한 요청을 처리하는 데 소요된 평균 시간을 표시합니다.
직접 트랜잭션은 캐시 적중 횟수 없이 원격 서버에서 프록시 서버를 통해 클라이언트로 직접 이동하는 트랜잭션입니다. 직접 트랜잭션의 경우 보고서는 다음을 표시합니다.
Retrieved documents:원격 서버에서 직접 검색한 문서입니다. 캐시 성능 보고서는 프록시가 처리한 이러한 유형의 요청, 이러한 요청을 처리하는 데 소요된 평균 시간 및 총 트랜잭션 비율(%)을 표시합니다.
Other transactions:200 또는 304 이외의 상태 코드로 반환된 트랜잭션입니다. 캐시 성능 보고서는 프록시가 처리한 이 유형의 요청 수 및 이러한 요청을 처리하는 데 소요된 평균 시간을 표시합니다.
Total direct traffic:클라이언트에서 원격 서버로 직접 이동한 요청입니다(실패한 요청 및 성공적으로 검색된 문서 모두). 캐시 성능 보고서는 프록시가 처리한 이 유형의 요청, 이러한 요청을 처리하는 데 소요된 평균 시간 및 총 트랜잭션 비율(%)을 표시합니다.
다음은 캐시 성능 보고서의 예입니다.
CLIENT CACHE: - Client & proxy cache hits... 86 reqs [18.0%] 0.21 sec/req- Proxy shortcut no-check........ 13 reqs [ 2.7%] 0.00 sec/req- Client cache hits only..... - TOTAL client cache hits.......... 99 reqs [20.7%] 0.18 sec/req PROXY CACHE: - Proxy cache hits w/check........ 4 reqs [ 0.8%] 0.50 sec/req- Proxy cache hits w/o check.. 10 reqs [ 2.1%] 0.00 sec/req- Pure proxy cache hits...... 14 reqs [ 2.9%] 0.14 sec/req PROXY CACHE HITS COMBINED: - TOTAL proxy cache hits....... 113 reqs [23.6%] 0.18 sec/req DIRECT TRANSACTIONS: - Retrieved documents..313 reqs [65.5%] 0.90 sec/req 2 MB- Other transactions.. 52 reqs [10.9%] 7.79 sec/req- TOTAL direct traffic.. 365 reqs [76.4%] 1.88 sec/req 2 MB |
전송 시간 보고서는 프록시 서버에서 트랜잭션을 처리하는 데 소요한 시간 정보를 표시합니다. 이 보고서에서는 다음 범주에 대한 값을 표시합니다.
Average transaction time:기록된 모든 전송 시간의 평균.
Average transfer time without caching:캐시에서 반환되지 않은 트랜잭션(원격 서버에서 200 응답 반환)의 평균 전송 시간.
Average with caching, without errors:모든 비오류 트랜잭션(2xx 및 3xx 상태 코드)에 대한 평균 전송 시간.
Average transfer time improvement:오류 없이 캐시된 평균 전송 시간을 평균 트랜잭션 시간에서 제한 값.
다음은 전송 시간 보고서의 예입니다.
- Average transaction time... 1.48 sec/req- Ave xfer time w/o caching.. 0.90 sec/req- Ave w/caching, w/o errors.. 0.71 sec/req - Ave xfer time improvement.. 0.19 sec/req
각 분석된 시간에 대해 시간별 작동 보고서는 다음을 표시합니다.
로드 평균
원격 서버에 대한 최신 상태 검사가 없는 캐시 적중 횟수
문서가 최신 상태이고 문서가 클라이언트 캐시에 있음을 증명하는 원격 서버에 대한 최신 상태 검사를 포함한 프록시 서버의 캐시 적중 횟수
문서가 최신 상태이고 문서가 클라이언트 캐시에 없음을 증명하는 원격 서버에 대한 최신 상태 검사를 포함한 프록시 서버의 캐시 적중 횟수
문서 일부가 업데이트되도록 하는 원격 서버에 대한 최신 상태 검사를 포함한 프록시 서버의 캐시 적중 횟수
요청된 문서의 새 사본을 200 상태 코드로 반환한 원격 서버에 대한 최신 상태 검사를 포함한 프록시 서버의 캐시 적중 횟수
프록시 서버의 캐시 적중 횟수 없이 원격 서버에서 직접 문서를 검색한 요청 수
Generate Report 페이지가 표시됩니다.
서버 이름을 입력합니다. 이 이름은 생성된 보고서에 나타납니다.
보고서를 HTML 또는 ASCII 형식으로 표시할지 여부를 선택합니다.
분석할 로그 파일을 선택합니다.
결과를 파일로 저장하려면 Output File 필드에 출력 파일 이름을 입력합니다.
필드를 비워두면 보고서 결과가 화면으로 출력됩니다. 로그 파일이 큰 경우 출력을 화면에 표시하는 데 시간이 많이 걸릴 수 있으므로 결과를 저장해야 합니다.
특정 서버 통계에 대한 총계 생성 여부를 선택합니다.
다음 총계를 생성할 수 있습니다.
Total Hits- 액세스 로깅을 활성화한 이후 서버가 수신한 총 적중 횟수.
304 (Not Modified) Status Codes- 페이지를 반환하는 서버가 아니라 요청한 문서의 로컬 복사본이 사용된 횟수.
302 (Redirects) Status Codes- 원래 URL이 이동하여 서버가 새 URL로 리디렉션한 횟수.
404 (Not Found) Status Codes- 서버가 요청된 문서를 찾을 수 없거나 클라이언트가 인증된 사용자가 아니므로 문서를 서비스하지 않은 횟수.
500 (Server Error) Status Codes- 서버 관련 오류가 발생한 횟수.
Total Unique URLs- 액세스 로그를 활성화한 후 액세스된 고유 URL의 수.
Total Unique Hosts- 액세스 로그를 활성화한 후 서버에 액세스한 고유 호스트의 수.
Total Kilobytes Transferred- 액세스 로그를 활성화한 후부터 서버가 전송한 데이터 양(KB).
일반 통계 생성 여부를 선택합니다. 일반 통계를 생성하는 경우 다음 옵션을 선택합니다.
Find Top Number Seconds Of Log- 가장 최신 초 단위 수의 정보를 기반으로 통계를 생성합니다.
Find Top Number Minutes Of Log-
가장 최신 분 단위 수의 정보를 기반으로 통계를 생성합니다.
Find Top Number Hours Of Log- 가장 최신 시간 단위 수의 정보를 기반으로 통계를 생성합니다.
Find Number Users (If Logged)- 사용자 수의 정보를 기반으로 통계를 생성합니다.
Find Top Number Referers (If Logged)- 참조자 수의 정보를 기반으로 통계를 생성합니다.
Find Top Number User Agents (If Logged)- 브라우저 유형, 버전 및 운영 체제 등의 사용자 에이전트에 대한 정보를 기반으로 통계를 생성합니다.
Find Top Number Miscellaneous Logged Items (If Logged)- 사용자 수의 정보를 기반으로 통계를 생성합니다.
목록 생성 여부를 선택합니다.
목록을 생성하는 경우 목록을 생성하려는 대상 항목을 다음 목록에서 지정합니다.
URLs Accessed- 액세스한 URL을 표시합니다.
Number Most Commonly Accessed URL- 가장 많이 액세스된 URL 또는 지정된 횟수보다 많이 액세스된 URL을 표시합니다.
URLs That Were Accessed More Than Number Times- 지정된 횟수보다 많이 액세스된 URL을 표시합니다.
Hosts Accessing Your Server- Proxy Server에 액세스한 호스트를 표시합니다.
Number Hosts Most Often Accessing Your Server- 서버에 가장 자주 액세스한 호스트 또는 지정된 횟수보다 많이 서버에 액세스한 호스트를 표시합니다.
Hosts That Accessed Your Server More Than Number Times- 지정된 횟수보다 많이 서버에 액세스한 호스트를 표시합니다.
결과를 표시할 순서를 지정합니다.
우선 순위를 1에서 3까지 지정하여 각 세션이 보고서에 표시될 순서를 정합니다. 특정 세션을 생성하지 않기로 하면 해당 세션은 자동으로 무시됩니다. 각 섹션은 다음과 같습니다.
Find Totals
General Statistics
Make Lists
OK를 누릅니다.
새 창에 보고서가 표시됩니다.
명령줄에서 액세스 로그 파일을 분석하려면 flexanlg 도구를 실행합니다. 이 도구는 server-install/extras/flexanlg 디렉토리에 있습니다.
flexanlg를 실행하려면 명령 프롬프트에서 다음 명령 및 옵션을 입력합니다.
./flexanlg [-n name] [-x] [-r] [-p order] [-i file]* [ -m metafile ]* [-o file][-c opts] [-t opts] [-l opts]
*가 표시된 옵션은 반복할 수 있습니다.
You can display this information online by typing ./flexanlg -h.
-P: proxy log format Default: no -n servername: The name of the server -x : Output in HTML Default: no -r : Resolve IP addresses to hostnames Default: no -p [c,t,l]: Output order (counts, time stats, lists) Default: ctl -i filename: Input log file Default: none -o filename: Output log file Default: stdout -m filename: Meta file Default: none -c [h,n,r,f,e,u,o,k,c,z]: Count these item(s) - Default: hnreuokc h: total hits n: 304 Not Modified status codes (Use Local Copy) r: 302 Found status codes (Redirects) f: 404 Not Found status codes (Document Not Found) e: 500 Server Error status codes (Misconfiguration) u: total unique URL’s o: total unique hosts k: total kilobytes transferred c: total kilobytes saved by caches z: Do not count any items. -t [sx,mx,hx, xx,z]: Find time stats - Default:s5m5h10u10a10r10x10 s(number): Find top (number) seconds of log m(number): Find top (number) minutes of log h(number): Find top (number) hours of log u(number): Find top (number) users of log a(number): Find top (number) user agents of log r(number): Find top (number) referers of log x(number): Find top (number) for miscellaneous keywords z: Do not find any time stats. -l [cx,hx]: Make a list of - Default: c+3h5 c(x,+x): Most commonly accessed URL’s (x: Only list x entries) (+x: Only list if accessed more than x times) h(x,+x): Hosts (or IP addresses) most often accessing your server (x: Only list x entries) (+x: Only list if accessed more than x times) z: Do not make any lists. |