温馨提示×

如何监控Debian syslog

小樊
43
2026-08-18 02:41:41
栏目: 智能运维

在 Debian 系统中,syslog 通常由 rsyslog(或 systemd-journald)负责。监控 syslog 可以从实时查看、过滤、告警、长期存储几个层面来做。下面按常见场景详细说明。


一、确认 Debian 使用的日志系统

1️⃣ 查看是否使用 rsyslog

dpkg -l | grep rsyslog

ps aux | grep rsyslog

如果看到 rsyslogd,说明使用的是 rsyslog

2️⃣ systemd 系统(Debian 8+)

Debian 默认也使用 systemd-journald,日志会同时存在于:

  • /var/log/syslog
  • journalctl

二、实时查看 syslog(最常用)

✅ 方法 1:直接 tail 日志文件

tail -f /var/log/syslog

只看某类日志:

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

✅ 方法 2:使用 journalctl(推荐 systemd 用户)

查看所有日志(实时):

journalctl -f

只看 syslog:

journalctl -t syslog -f

只看某服务:

journalctl -u ssh -f

三、过滤和搜索 syslog

查看某时间段的日志

journalctl --since "2025-01-01 09:00" --until "2025-01-01 10:00"

按优先级过滤(如错误)

journalctl -p err

rsyslog 优先级:

  • emerg
  • alert
  • crit
  • err
  • warning
  • notice
  • info
  • debug

四、监控特定事件(告警)

1️⃣ 使用 grep + 脚本

tail -f /var/log/syslog | grep --line-buffered "error" | while read line
do
    echo "$(date) $line"
    # 发送邮件 / 告警
done

2️⃣ 使用 swatch(经典 syslog 监控工具)

安装:

apt install swatch

示例配置:

watchfor /error|fail|critical/
    echo
    mail addresses=root, subject="Syslog Alert"

运行:

swatch --config-file ~/.swatchrc --tail-file /var/log/syslog

五、使用 rsyslog 自身过滤和转发

1️⃣ 按级别或关键词过滤

编辑:

/etc/rsyslog.d/10-custom.conf

示例:

:msg, contains, "error" /var/log/error.log
& stop

重启:

systemctl restart rsyslog

2️⃣ 远程发送 syslog(集中监控)

*.* @@logserver:514

六、使用专业监控工具(生产环境推荐)

✅ 1. Prometheus + node_exporter

  • 监控日志数量、磁盘、服务状态
  • 不直接解析 syslog(适合指标)

✅ 2. ELK / EFK(日志分析)

  • Filebeat → Elasticsearch → Kibana
  • 可实时搜索、告警、可视化

✅ 3. Grafana Loki

  • 轻量级日志聚合
  • 非常适合 syslog / journal

七、防止 syslog 被填满(重要)

日志轮转

Debian 默认使用 logrotate

/etc/logrotate.d/rsyslog

检查:

logrotate -d /etc/logrotate.conf

八、常见排查命令速查

需求 命令
实时查看 tail -f /var/log/syslog
systemd 日志 journalctl -f
查看某服务 journalctl -u nginx
查看错误 journalctl -p err
搜索关键词 grep error /var/log/syslog

九、推荐方案(按场景)

个人 / 小服务器

  • tail -f + journalctl

多服务器 / 生产环境

  • rsyslog → Filebeat → ELK / Loki

安全监控

  • auditd + syslog + 告警脚本

如果你愿意,我可以:

  • ✅ 帮你写 syslog 告警脚本
  • ✅ 配置 rsyslog 远程转发
  • ✅ 设计 ELK / Loki 日志监控架构
  • ✅ 针对 SSH / 防火墙 / 认证失败 做专项监控

只要告诉我你的使用场景即可。

0