温馨提示×

linux syslog如何监控

小樊
63
2026-09-01 19:14:39
栏目: 智能运维

在 Linux 中,syslog 监控通常分为三层:查看已有日志、实时跟踪日志、主动监控并告警。下面按常见场景给你一个实用指南。


一、确认你用的是哪种 syslog

不同发行版默认不同:

  • rsyslog(最常见:CentOS 6+/Ubuntu)
  • syslog-ng
  • systemd-journald(现代系统,常配合 rsyslog)

查看服务:

ps aux | grep -E 'rsyslog|syslog-ng|systemd-journal'

二、最基础的实时监控(tail)

1. 实时查看 syslog

tail -f /var/log/syslog        # Ubuntu/Debian
tail -f /var/log/messages      # CentOS/RHEL

2. 只看某类日志

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

3. 多文件监控

multitail /var/log/syslog /var/log/auth.log

三、用 journalctl 监控(systemd 系统)

实时查看所有日志

journalctl -f

只看某个服务

journalctl -u sshd -f

按时间

journalctl --since "10 min ago"

四、主动监控 + 告警(重点)

方案 1:logwatch(每日汇总)

apt install logwatch   # Debian/Ubuntu
yum install logwatch   # CentOS

生成报告:

logwatch --detail High --mailto admin@xxx.com

方案 2:fail2ban(安全类监控)

常用于 SSH、暴力破解:

apt install fail2ban
systemctl enable fail2ban

监控 /var/log/auth.log 自动封 IP。


方案 3:自定义脚本 + 告警(实战常用)

示例:监控 ssh 登录失败

tail -F /var/log/auth.log | while read line; do
  echo "$line" | grep "Failed password" && \
  echo "$line" | mail -s "SSH 登录失败告警" admin@xxx.com
done

方案 4:专业日志系统(生产环境)

  • Prometheus + node_exporter + Loki
  • ELK / EFK
  • Graylog

适合:

  • 多服务器
  • 搜索
  • 图表
  • 告警规则

五、rsyslog 自身配置监控重点

配置文件:

/etc/rsyslog.conf
/etc/rsyslog.d/*.conf

常见监控点:

  • auth / authpriv(登录)
  • cron(定时任务)
  • kern(内核)
  • mail

示例:单独记录 SSH

:programname, isequal, "sshd" /var/log/sshd.log

六、实用建议

  • 服务器必看:auth.log / secure
  • 排错:kern.log
  • 生产环境:至少 fail2ban + 日志集中
  • 别只 tail:要能告警

如果你能告诉我:

  • 发行版(Ubuntu / CentOS / 其他)
  • 想监控什么(SSH / 服务崩溃 / 安全)
  • 单机还是集群

我可以直接给你一套可复制的配置方案。

0 踩