温馨提示×

linux syslog如何分析

小樊
42
2026-09-04 20:26:44
栏目: 智能运维

在 Linux 下分析 syslog(系统日志)是排查系统问题、安全事件和服务异常的重要手段。下面从 日志位置、查看方式、分析工具、常见场景 四个方面系统说明。


一、syslog 日志在哪里

1. 传统 syslog(rsyslog / syslog-ng)

常见路径:

/var/log/messages      # 通用系统日志(CentOS/RHEL)
/var/log/syslog        # 通用系统日志(Debian/Ubuntu)
/var/log/secure        # 认证、SSH 登录(RHEL)
/var/log/auth.log      # 认证日志(Debian)

2. systemd 系统(journald)

现代 Linux 默认使用 systemd

journalctl

二、基础查看方法

1. 实时查看日志

tail -f /var/log/syslog
tail -f /var/log/messages

2. 查看指定时间

grep "2026-01-21 10:" /var/log/syslog

3. 按关键字过滤

grep -i error /var/log/syslog
grep sshd /var/log/auth.log

4. journalctl 常用

journalctl -xe          # 最近错误
journalctl -u nginx     # 某服务
journalctl --since "2026-01-21 09:00"
journalctl -p err       # 只看错误

三、常用分析工具

1. 文本工具

awk
sed
sort | uniq -c

示例:统计 SSH 登录失败 IP

grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr

2. logwatch(自动日报)

apt install logwatch
logwatch --detail High --range today

3. GoAccess(Web 日志)

适合分析 /var/log/nginx/access.log


4. ELK / Loki(企业级)

  • Elasticsearch + Kibana
  • Grafana + Loki 适合大规模日志分析

四、典型分析场景

1. SSH 暴力破解分析

grep "Failed password" /var/log/auth.log

防护:

  • 改端口
  • 禁 root 登录
  • fail2ban

2. 系统重启 / 关机原因

journalctl -b -1
last reboot

3. 磁盘 / OOM 问题

grep -i "out of memory" /var/log/syslog
dmesg | grep -i oom

4. 服务启动失败

journalctl -u mysql -xe

五、分析思路总结

  1. 先看时间范围
  2. 再按服务/关键字过滤
  3. 关注 error / fail / timeout
  4. 结合 dmesg / journalctl
  5. 必要时做统计聚合

如果你愿意,可以:

  • 贴一段 具体日志
  • 说明 系统版本(CentOS/Ubuntu)
  • 或说明 你在排查什么问题

我可以直接帮你分析。

0