在 Debian 系统中,“Debian message”通常指系统日志、内核消息或各类软件产生的通知信息。针对不同的监控需求,有多种工具和方法可以实现监控。以下是详细的分类指南:
journalctl(推荐,systemd 系统)Debian 8+ 默认使用 systemd,日志由 journald 管理。
# 实时查看所有日志
journalctl -f
# 实时查看某服务的日志(如 ssh)
journalctl -u ssh -f
# 查看内核消息
journalctl -k -f
# 按优先级查看(如错误及以上)
journalctl -p err -f
dmesg(内核消息)监控内核级消息(硬件、驱动等):
# 实时查看内核消息
dmesg -w
# 只看错误
dmesg --level=err,warn
Debian 仍保留传统日志文件:
# 实时查看系统日志
tail -f /var/log/syslog
# 认证相关
tail -f /var/log/auth.log
# 守护进程日志
tail -f /var/log/daemon.log
# 查看 apt 历史
less /var/log/apt/history.log
# 实时监控 apt 操作
tail -f /var/log/dpkg.log
tail -f /var/log/exim4/mainlog
# 或
tail -f /var/log/mail.log
tail -f /var/log/cron.log
# 或
journalctl -u cron -f
lnav(日志导航工具,强烈推荐)sudo apt install lnav
lnav /var/log/syslog
# 自动高亮、实时刷新、SQL 查询日志
multitail(多窗口监控)sudo apt install multitail
multitail /var/log/syslog /var/log/auth.log
logwatch(每日日志汇总)sudo apt install logwatch
logwatch --detail high --mailto your@mail.com
rsyslog + 触发脚本/etc/rsyslog.d/trigger.conf:
:msg, contains, "error" ^/usr/local/bin/alert.sh
swatchdogsudo apt install swatch
swatch -t /var/log/syslog --watchfor='error' --echo
node_exporter 采集系统指标promtail + loki 采集日志| 场景 | 推荐方案 |
|---|---|
| 单台服务器 | journalctl / tail |
| 多台服务器 | ELK / Loki |
| 轻量级 | rsyslog 转发 |
| 云平台 | cloudwatch / datadog |
示例:rsyslog 转发
# 客户端
*.* @@logserver:514
| 需求 | 命令 |
|---|---|
| 实时系统消息 | journalctl -f |
| 内核错误 | dmesg -w |
| SSH 登录 | journalctl -u ssh -f |
| 查看错误 | journalctl -p err |
| 查看今天日志 | journalctl --since today |
如果你能具体说明:
我可以给你更精确的方案(包括完整配置示例)。