温馨提示×

如何监控Debian实时日志

小樊
41
2026-08-23 04:17:56
栏目: 智能运维

在 Debian 系统中,监控实时日志有多种方式,最常用的是 journalctl(systemd 日志)和 tail(传统日志文件)。下面按常见场景给你一个完整指南。


一、使用 journalctl 实时监控(推荐)

Debian 目前默认使用 systemd,日志由 systemd-journald 管理。

1️⃣ 实时查看所有系统日志

sudo journalctl -f
  • -f:follow,实时刷新
  • 类似 tail -f

2️⃣ 查看某个服务的实时日志

sudo journalctl -u nginx -f
sudo journalctl -u ssh -f
sudo journalctl -u docker -f

3️⃣ 查看指定时间后的日志

sudo journalctl --since "5 minutes ago" -f

4️⃣ 查看内核日志(实时)

sudo journalctl -k -f

5️⃣ 按优先级过滤(例如只看错误)

sudo journalctl -p err -f

二、使用 tail 监控传统日志文件

如果你使用的是 非 systemd 或某些程序仍写文件日志。

1️⃣ 实时查看系统日志

sudo tail -f /var/log/syslog

2️⃣ 查看认证日志(SSH 登录等)

sudo tail -f /var/log/auth.log

3️⃣ 查看某个程序日志

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

三、按关键词过滤实时日志

1️⃣ 使用 grep

sudo journalctl -f | grep ssh

sudo tail -f /var/log/auth.log | grep ssh

2️⃣ 高亮关键词

sudo journalctl -f | grep --color=auto error

四、同时监控多个日志(高级)

使用 multitail

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

五、查看启动后的日志(排查问题)

sudo journalctl -b
sudo journalctl -b -p err

六、常见问题

❓ 没有 /var/log/syslog

可能原因:

  • 未安装 rsyslog
sudo apt install rsyslog
sudo systemctl enable --now rsyslog

❓ journalctl 无日志

sudo journalctl --disk-usage

或启用持久化:

sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald

七、推荐组合(实战)

系统级实时日志

sudo journalctl -f

服务问题排查

sudo journalctl -u 服务名 -f

安全/登录监控

sudo tail -f /var/log/auth.log

如果你能告诉我:

  • Debian 版本(10 / 11 / 12)
  • 是服务器还是桌面
  • 想监控的是 系统 / 网络 / 服务 / 安全 / Docker / 内核

我可以给你一套更精准的监控方案

0