神器 awk
最近想研究下两大神器 awk/sed
awk 分析 nginx 日志
于是实践下nginx_proxy_cache
模块的命中状态
awk '{if($NF=="\"HIT\"") hit++; else if($NF=="\"MISS\"") miss++; else if($NF=="\"EXPIRED\"") expired++; else other++} END {printf "KU.IO Nginx Cache Status:\n\nHit Rate: %.2f%\nMiss Rate: %.2f\nExpired Rate: %.2f%\nOther Rate: %.2f%\n",hit/NR*100,miss/NR*100,expired/NR*100,other/NR*100}' /var/log/nginx/ku.io.access.log
把 /var/log/nginx/ku.io.access.log
修改为你的日志文件路径即可复用
当然
log_format main '$remote_addr - $remote_user [$time_local]"$request"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent""$http_x_forwarded_for" ''"$upstream_cache_status"';
其中 Other Rate
包含两项
- UPDATING
- STALE
感觉这两项意义不大
Happy Hacking~ :)