温馨提示×

linux如何实时监控nginx日志

小樊
50
2026-09-08 15:09:29
栏目: 智能运维

在 Linux 下实时监控 Nginx 日志,常见且实用的方法如下,按使用场景从简单到进阶说明:


一、最基础:tail 实时查看(推荐新手)

1. 查看访问日志

tail -f /var/log/nginx/access.log

2. 查看错误日志

tail -f /var/log/nginx/error.log

3. 同时监控两个日志

tail -f /var/log/nginx/access.log /var/log/nginx/error.log

-f 表示 follow,实时刷新


二、过滤关键信息(常用)

只看 404 / 500 错误

tail -f /var/log/nginx/access.log | grep -E ' 404 | 500 '

只看某个 IP

tail -f /var/log/nginx/access.log | grep '192.168.1.100'

只看 POST 请求

tail -f /var/log/nginx/access.log | grep 'POST'

三、高亮显示(更易读)

tail -f /var/log/nginx/access.log | ccze -A

安装:

# Debian / Ubuntu
apt install ccze

# CentOS
yum install ccze

四、按时间段 / 请求量统计(进阶)

实时统计 QPS

watch -n 1 "wc -l /var/log/nginx/access.log"

实时查看访问最多的 IP

tail -f /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr

五、使用专业工具(生产环境推荐)

1. GoAccess(实时可视化)

goaccess /var/log/nginx/access.log -o /var/www/html/report.html --log-format=COMBINED

实时终端模式:

goaccess /var/log/nginx/access.log --log-format=COMBINED -o /dev/stdout

2. lnav(日志聚合神器)

lnav /var/log/nginx/

六、Docker 环境

docker logs -f nginx

或:

docker exec -it nginx tail -f /var/log/nginx/access.log

七、日志轮转注意(重要)

Nginx 日志可能被 logrotate 切割:

tail -F /var/log/nginx/access.log

-F 可自动跟踪被重命名的日志


总结推荐

场景 推荐方式
快速排查 tail -f
错误定位 `tail -f
可视化 GoAccess
多日志 lnav

如果你有 具体需求(如:统计接口耗时、监控异常、告警),我可以直接给你定制命令或脚本。

0 踩