在 Debian 系统中,syslog 通常指 rsyslog(Debian 默认 syslog 服务)。下面从查看、实时监控、过滤、告警、集中管理几个层面说明如何“监控 syslog”。
tail 实时监控sudo tail -f /var/log/syslog
-f:实时刷新只看某服务(如 ssh):
sudo tail -f /var/log/syslog | grep sshd
journalctl(systemd 系统)Debian 9+ 默认使用 systemd:
sudo journalctl -f
按服务过滤:
sudo journalctl -u ssh -f
按时间:
sudo journalctl --since "10 min ago"
sudo grep -E "error|warn|fail" /var/log/syslog
sudo journalctl -p err -f
优先级:emerg > alert > crit > err > warning > notice > info > debug
logwatch(每日报告)sudo apt install logwatch
sudo logwatch --detail High --mailto admin@yourdomain.com
swatch(实时触发)sudo apt install swatch
swatch --config-file ~/.swatchrc --tail-file /var/log/syslog
示例 .swatchrc:
watchfor /Failed password/
echo red
mail addresses=admin@domain.com, subject="SSH 暴力破解"
服务端 /etc/rsyslog.conf:
module(load="imtcp")
input(type="imtcp" port="514")
客户端:
*.* @@server-ip:514
| 日志 | 路径 |
|---|---|
| 系统日志 | /var/log/syslog |
| 认证 | /var/log/auth.log |
| 内核 | dmesg / /var/log/kern.log |
| 开机 | journalctl -b |
监控 SSH 暴力破解
sudo tail -f /var/log/auth.log | grep "Failed password"
监控磁盘错误
sudo journalctl -p err | grep sd
如果你能说明:
我可以给你更具体的监控方案或脚本。