温馨提示×

ubuntu如何实时监控日志

小樊
39
2026-09-12 11:32:37
栏目: 智能运维

在 Ubuntu 下“实时监控日志”常见有几种方式,取决于你想监控系统日志应用日志还是自定义文件。下面按使用频率从高到低介绍。


一、最常用:tail -f(实时监控单个日志)

tail -f /var/log/syslog
  • -f:follow,文件有新增内容立即显示
  • 适合监控已知日志文件

常用变体

# 显示最后 100 行并实时监控
tail -n 100 -f /var/log/nginx/access.log

# 多个文件同时监控
tail -f /var/log/syslog /var/log/auth.log

如果日志会被轮转(logrotate),推荐:

tail -F /var/log/syslog

-F 会在文件被重建后自动重新跟踪。


二、系统日志推荐:journalctl -f(systemd)

Ubuntu 16.04+ 默认使用 systemd,系统日志由 journald 管理。

# 实时查看所有系统日志
journalctl -f

常用示例

# 只看某个服务
journalctl -u nginx -f

# 某个服务 + 最近 50 行
journalctl -u docker.service -n 50 -f

# 按时间
journalctl --since "10 min ago" -f

优点:不用关心日志文件路径
适合:服务、容器、系统错误


三、按关键字实时监控(过滤日志)

1️⃣ tail + grep

tail -f /var/log/syslog | grep error

2️⃣ journalctl + grep

journalctl -f | grep -i "failed"

3️⃣ 高亮显示(推荐)

tail -f app.log | grep --color=auto "ERROR\|WARN"

四、高级实时监控工具

1️⃣ multitail(多窗口)

sudo apt install multitail
multitail /var/log/syslog /var/log/auth.log

2️⃣ lnav(日志分析神器)

sudo apt install lnav
lnav /var/log/
  • 自动识别日志格式
  • 支持搜索、过滤、时间线

五、监控“新产生的日志文件”

如果你不知道日志路径,可以监控目录:

inotifywait -m /var/log/

安装:

sudo apt install inotify-tools

六、生产环境建议

场景 推荐方式
排查问题 journalctl -u 服务 -f
Nginx/应用 tail -F 日志文件
多服务 multitail
长期监控 ELK / Grafana Loki

如果你愿意,可以告诉我:

  • 监控 系统 / Nginx / Docker / 自建程序
  • 是否需要 报警 / 关键字高亮 / 远程日志

我可以给你更精确的命令或脚本。

0