温馨提示×

怎么分析linux syslog

小樊
50
2026-08-14 08:10:34
栏目: 智能运维

分析 Linux syslog 是排查系统问题、了解系统运行状态的重要手段。下面从日志位置、工具、分析思路、常见场景几个方面系统讲解。


一、syslog 在哪里

1. 常见日志路径

不同发行版略有差异:

系统 主要日志位置
Debian / Ubuntu /var/log/syslog
RHEL / CentOS /var/log/messages
systemd 系统 journalctl(不依赖文件)

常见相关日志:

/var/log/
├── syslog
├── messages
├── auth.log        # 登录、sudo、ssh
├── kern.log        # 内核日志
├── cron.log        # 定时任务
├── daemon.log      # 守护进程

二、基本查看方式

1. 直接查看

cat /var/log/syslog
less /var/log/syslog
tail -f /var/log/syslog

2. 查看最新日志

tail -n 100 /var/log/syslog

3. 实时跟踪

tail -f /var/log/syslog

三、使用 journalctl(systemd 系统推荐)

1. 查看全部日志

journalctl

2. 实时查看

journalctl -f

3. 按时间

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

4. 按服务

journalctl -u sshd
journalctl -u nginx

5. 按优先级

journalctl -p err

优先级:

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

四、syslog 日志格式解析

典型格式:

Jan 10 10:23:01 hostname sshd[1234]: Failed password for root from 1.2.3.4 port 22 ssh2

含义:

  • 时间
  • 主机名
  • 服务名
  • PID
  • 日志内容

五、常用分析命令

1. 过滤关键字

grep "error" /var/log/syslog
grep -i "fail" /var/log/syslog

2. 统计错误数量

grep "error" /var/log/syslog | wc -l

3. 按服务分析

grep "sshd" /var/log/syslog

4. 按 IP 分析(如 SSH 暴力破解)

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

六、常见分析场景

1. 登录问题(SSH)

grep "sshd" /var/log/auth.log

关注:

  • Failed password
  • Accepted password
  • Invalid user

2. 系统重启 / 宕机

last reboot
journalctl -b -1   # 上一次启动

3. 磁盘 / IO 问题

grep -i "error" /var/log/kern.log
dmesg | grep -i error

4. 服务启动失败

journalctl -u nginx --no-pager

5. OOM(内存不足)

grep -i "out of memory" /var/log/syslog

七、自动化分析建议

1. 日志切割

logrotate

2. 集中分析

  • ELK(Elasticsearch + Logstash + Kibana)
  • Grafana + Loki
  • rsyslog 转发

八、分析思路总结

先时间 → 定位问题发生时间
再服务 → 缩小范围
看关键字 → error / fail / denied
结合 dmesg / journalctl
关注重复日志(攻击或异常)


如果你愿意,可以把具体日志贴出来(或说明是哪种问题:宕机 / 网络 / SSH / 磁盘),我可以帮你逐行分析。

0