Apache 로그에서 awk 또는 sed를 사용하여 초당 평균 요청을 계산하는 방법

Apache 로그에서 awk 또는 sed를 사용하여 초당 평균 요청을 계산하는 방법

Apache 로그에서 특정 기간 동안의 초당 평균 요청 수를 계산하려고 합니다.

내가 관심 있는 기간으로 결과를 좁혀 초당 요청 수를 계산할 수 있게 되었는데, 평균을 계산할 수는 없습니다. 이것이 내가 지금까지 가지고 있는 것입니다:

paste "/var/log/apache2/access.log" "/var/log/apache2/access.log.1" | awk ' $4>"[10/Feb/2013:16:48:00" && $4<"[10/Feb/2013:17:15:00" {gsub(/\[/,"");print $4} ' | sort | uniq -c

누구든지 나를 올바른 방향으로 안내할 수 있습니까? 나는 sed나 awk를 언급했지만 다른 것을 사용해 보고 싶습니다.

건배

답변1

이제 초당 요청을 얻는 방법을 알았으므로 "평균"이 무엇을 나타내는지, 즉 60초, 5분, 15분 또는 기타 기간 동안의 평균 요청 수를 결정해야 합니다. 60초를 초과한다고 가정하면 매초마다 메트릭 로그에 기존 스크립트를 추가할 수 있습니다. 그런 다음 다른 스크립트가 매초마다 루프에서 다음을 수행하도록 합니다.

# tail -n 60 | awk '{total = total + $1}END{print total}' / 60 | bc -l

60초 동안 초당 평균 요청 수가 표시됩니다. 5분 안에 완료하려면:

# tail -n 300  | awk '{total = total + $1}END{print total}' / 300 | bc -l

더 자세한 설명이 필요하시면 언제든지 댓글을 남겨주세요.

관련 정보