温馨提示×

linux syslog怎么排查错

小樊
43
2026-09-23 00:34:08
栏目: 智能运维

在 Linux 里,syslog 是系统日志的核心机制(常见实现有 rsyslog、syslog-ng、以及较新的 systemd-journald)。排查错误通常分“找日志 → 读日志 → 定位来源 → 验证”几个步骤。下面按实战角度说明。


一、先确认你用的是哪种日志系统

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

常见情况:

  • CentOS 6 / 老系统:rsyslog
  • CentOS 7+ / Ubuntu 16+:rsyslog + systemd-journald
  • 纯 systemd 系统:journalctl 为主

二、常见日志文件位置

传统 syslog 文件(rsyslog):

文件 内容
/var/log/messages 通用系统日志(CentOS)
/var/log/syslog 通用系统日志(Ubuntu)
/var/log/secure 认证、SSH、sudo(CentOS)
/var/log/auth.log 认证日志(Ubuntu)
/var/log/cron 定时任务
/var/log/kern.log 内核日志
/var/log/dmesg 开机内核信息

三、用 journalctl 排查(推荐)

如果是 systemd 系统:

# 查看全部日志(实时)
journalctl -f

# 按时间
journalctl --since "2024-01-01 10:00" --until "2024-01-01 12:00"

# 只看错误
journalctl -p err

# 看某个服务
journalctl -u nginx
journalctl -u sshd -f

# 内核日志
journalctl -k

四、按“错误类型”排查思路

1️⃣ 服务起不来

journalctl -u 服务名 -xe

重点看:

  • Failed
  • Permission denied
  • Address already in use

2️⃣ 网络 / SSH 问题

tail -f /var/log/secure     # CentOS
tail -f /var/log/auth.log   # Ubuntu

常见错误:

  • Failed password
  • Connection closed
  • refused

3️⃣ 磁盘 / 文件系统

tail -f /var/log/messages
dmesg | tail

关键字:

  • I/O error
  • read-only filesystem
  • No space left on device

4️⃣ 内核 / 驱动

dmesg | grep -i error
journalctl -k | grep -i error

五、syslog 本身出问题怎么办?

检查服务状态

systemctl status rsyslog
systemctl restart rsyslog

配置文件

  • CentOS:/etc/rsyslog.conf
  • Ubuntu:/etc/rsyslog.d/*.conf

示例(调试用):

*.debug    /var/log/debug.log

六、实用排查命令汇总

# 实时监控
tail -f /var/log/syslog

# 搜关键字
grep -i error /var/log/messages

# 按时间排序最新
ls -lt /var/log/

# 看日志是否写满
df -h
du -sh /var/log/*

七、一个标准排查流程(建议记住)

  1. 现象是什么(服务挂?网络不通?卡?)
  2. 看对应日志
    • 服务 → journalctl -u xxx
    • 系统 → /var/log/messages
  3. 抓关键字:error / fail / denied / timeout
  4. 确认时间线
  5. 重启或修复后验证日志

如果你有具体报错信息或某个服务,可以直接贴出来,我可以帮你逐行分析。

0 踩