Debian Nginx日志中带宽消耗查看方法
一、核心思路
二、命令行快速统计
前置确认
统计示例(按你的实际列号替换 $10)
awk '{sum += $10} END {print sum}' /var/log/nginx/access.log
grep '22/Nov/2025' /var/log/nginx/access.log | awk '{sum += $10} END {printf "%.2f MB\n", sum/1024/1024}'
awk '{sum[$1] += $10} END {for (ip in sum) printf "%s %.2f MB\n", ip, sum[ip]/1024/1024}' /var/log/nginx/access.log
awk '{url=$7; gsub(/\?.*/,"",url); sum[url] += $10} END {for (u in sum) printf "%s %.2f MB\n", u, sum[u]/1024/1024}' /var/log/nginx/access.log
# Debian 常见 logrotate 按天切分,access.log.1 为昨天
zcat /var/log/nginx/access.log.1.gz | awk '{sum += $10} END {printf "%.2f MB\n", sum/1024/1024}'
三、可视化与实时监控
GoAccess 报表
sudo apt-get install goaccessgoaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED
ngxtop 实时 Top N
pip3 install ngxtopngxtop -l /var/log/nginx/access.log --order-by 'avg(bytes_sent) * count'
ngxtop -l /var/log/nginx/access.log -n 20 # Top 20 请求
ngxtop -l /var/log/nginx/access.log top remote_addr # Top IP
ngxtop -i 'status == 404' print request status -l /var/log/nginx/access.log # 404 明细
四、补充与排错