温馨提示×

linux syslog怎么分析

小樊
43
2026-09-01 19:10:37
栏目: 智能运维

在 Linux 里,syslog 通常指两套东西:

  1. syslog 协议 / 系统日志机制(rsyslog、syslog-ng、systemd-journald)
  2. 日志文件本身(如 /var/log/messages/var/log/syslog

下面按「从哪里看 → 怎么看 → 怎么分析 → 工具」来讲。


一、Linux 日志在哪里

1. 传统 syslog 文件

常见路径(不同发行版不同):

发行版 文件
CentOS / RHEL /var/log/messages
Ubuntu / Debian /var/log/syslog
所有 /var/log/auth.log(登录、sudo)

2. systemd 系统(主流)

journalctl

查看系统全部日志:

journalctl

实时查看:

journalctl -f

二、基础分析方法

1. 看最近日志

tail -n 100 /var/log/syslog

实时跟踪:

tail -f /var/log/syslog

2. 按时间分析

journalctl --since "2024-01-01 00:00:00" --until "2024-01-02 00:00:00"

grep "Jan 15" /var/log/syslog

3. 按服务 / 程序分析

journalctl -u nginx
journalctl -u sshd

传统方式:

grep sshd /var/log/auth.log

4. 按错误级别

journalctl -p err

syslog 级别:

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

三、常见分析场景

1. 登录安全问题

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

暴力破解统计:

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

2. 系统崩溃 / 重启

journalctl -b -1   # 上一次启动
journalctl -b      # 当前启动

3. 磁盘 / 内存错误

grep -i "error" /var/log/messages
grep -i "oom" /var/log/messages

4. 网络问题

grep "eth0" /var/log/messages
journalctl -k | grep network

四、进阶分析工具

1. 日志聚合

  • logrotate(日志轮转)
  • rsyslogsyslog-ng
  • ELK(Elasticsearch + Logstash + Kibana)
  • Graylog
  • Loki + Grafana

2. 命令行神器

awk
sed
grep
less
multitail

示例:

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

五、一个简单分析思路(实战)

  1. 先确认时间范围
  2. 看错误(err / fail)
  3. 看服务(sshd / nginx / kernel)
  4. 关联时间线
  5. 必要时导出日志

如果你愿意,可以:

  • 告诉我 发行版
  • 或贴一段 日志内容

我可以帮你直接分析具体日志

0