Varnishlog에서 특정 URL의 개수 및 백분율 계산

Varnishlog에서 특정 URL의 개수 및 백분율 계산

특정 URL에 대한 실행 비율을 어떻게 계산할지 궁금했습니다. 예를 들어 varnishlog가 실행되면 들어오는 http 요청 정보에 대한 실시간 출력이 표시됩니다.

아래에는 일부 정보가 잘린 발췌문이 있습니다.

  46 ReqStart     c 
   46 RxRequest    c GET
   46 RxURL        c /cat?getParam
   46 RxProtocol   c HTTP/1.1
   46 RxHeader     c User-Agent: **************
   46 RxHeader     c Accept-Encoding: gzip
   46 RxHeader     c Host: myServer.org
   46 RxHeader     c Connection: Keep-Alive
   46 RxHeader     c Cookie: ********
   46 RxHeader     c Cookie2: ************
   46 VCL_call     c recv lookup
   46 VCL_call     c hash
   46 Hash         c /cat?getParam
   46 Hash         c myServer.org
   46 VCL_return   c hash
   46 VCL_call     c miss fetch
   46 Backend      c 90 default default
   ...
   46 ObjHeader    c Server: Apache-Coyote/1.1
   46 ObjHeader    c Content-Type: text/xml
   46 ObjHeader    c Content-Encoding: gzip
   46 ObjHeader    c Vary: Accept-Encoding
   46 ObjHeader    c Date: Thu, 05 Sep 2013 12:56:04 GMT
   46 Gzip         c u F - 1596 8098 80 80 12697
   46 VCL_call     c deliver deliver
   46 TxProtocol   c HTTP/1.1
   46 TxStatus     c 200
   46 TxResponse   c OK
   ...
   46 ReqEnd       c ...

내가 관심 있는 것은 입니다 RxURL. 특히 다음으로 시작하는 요청이 있습니다.

  • /고양이?
  • /주형?

셀 수 있는 명령을 실행하려면 어떻게 해야 할까요?

  • 총 요청 수
  • /cat로 시작하는 요청 수
  • /temp로 시작하는 요청 수

마지막에 이 숫자를 출력할까요?

현재 나는 실행 중입니다 varnishlog | grep "Hash" > requests.txt.

그런 다음 Excel 스프레드시트를 활용하여 정리하고 계산하고 백분율을 계산합니다.

AWK나 스크립트를 활용하여 서버에서 직접 이 작업을 수행할 수 있는지 궁금했습니다.

업데이트

varnishtop -i txurlURL을 직접 표시하므로 더욱 적합합니다.

답변1

Varnishncsa[1]를 사용하여 "Apache와 유사한" 로그(원하는 경우 필터링된 로그도 가능)를 생성하고 전투 테스트를 거친 일부 스크립트를 활용할 수 있습니다[2][3]

실시간으로 원하는 개수(예를 들어 다음 100개 요청의 경우)를 얻는 것은 간단합니다.

  • varnishncsa | head -n 100 | awk '{print $7}' | wc -l
  • varnishncsa | head -n 100 | awk '{print $7}' | grep /cat | wc -l
  • varnishncsa | head -n 100 | awk '{print $7}' | grep /temp | wc -l

[1]https://www.varnish-cache.org/docs/trunk/reference/varnishncsa.html

[2]Apache 로그를 구문 분석하는 데 유용한 awk 및 grep 스크립트가 있습니까?

[삼]http://www.the-art-of-web.com/system/logs/#.Uin5AEBdXsh

관련 정보