温馨提示×

linux syslog如何调试

小樊
46
2026-09-01 19:17:40
栏目: 智能运维

在 Linux 下,syslog 调试通常包括:确认服务状态、查看日志、提高日志级别、模拟日志、排查配置和权限问题。下面按「从入门到排错」的顺序说明。


一、确认 syslog 服务是否正常

不同发行版使用的 syslog 实现不同:

1. 查看当前使用的日志系统

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

常见情况:

  • rsyslog(最常见)
  • syslog-ng
  • systemd-journald(journalctl)

2. 服务状态检查

rsyslog

systemctl status rsyslog
journalctl -u rsyslog

启动 / 重启:

systemctl start rsyslog
systemctl restart rsyslog

syslog-ng

systemctl status syslog-ng

二、查看 syslog 日志

传统日志文件

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

常见路径:

  • Debian/Ubuntu:/var/log/syslog
  • RHEL/CentOS:/var/log/messages

systemd 系统(推荐)

journalctl -f
journalctl -p debug
journalctl _COMM=rsyslog

三、手动发送测试日志(很重要)

使用 logger 命令

logger -p user.info "this is a test log"
logger -p local0.debug "debug test"

查看是否收到:

tail -f /var/log/syslog

四、开启 syslog 调试模式

rsyslog 调试

方法 1:命令行调试

rsyslogd -dn
  • -d debug
  • -n 前台运行

方法 2:修改配置

编辑:

/etc/rsyslog.conf

添加:

$DebugLevel 2

或(新版):

module(load="imuxsock")
global(workDirectory="/var/spool/rsyslog")

重启:

systemctl restart rsyslog

查看调试日志:

journalctl -u rsyslog

五、检查 syslog 配置

示例规则(rsyslog)

*.info;mail.none;authpriv.none /var/log/messages
auth.* /var/log/secure
local0.* /var/log/myapp.log

测试是否生效:

logger -p local0.info "test local0"
tail -f /var/log/myapp.log

六、常见调试问题

1. 日志不写文件

检查:

  • 文件权限
  • SELinux
ls -l /var/log/myapp.log
getenforce

2. 远程 syslog 收不到

检查:

  • 防火墙
iptables -L
firewall-cmd --list-all
  • UDP/TCP 514 端口

3. journalctl 看不到 syslog

systemctl status systemd-journald

七、快速排错清单 ✅

  • [ ] rsyslog 是否在运行
  • [ ] logger 能否产生日志
  • [ ] 配置文件是否有语法错误
rsyslogd -N1
  • [ ] 日志级别是否太低
  • [ ] 文件 / 权限 / SELinux
  • [ ] 防火墙 / 网络(远程)

如果你愿意,可以告诉我:

  • 发行版(CentOS / Ubuntu / Alpine)
  • 用的是 rsyslog 还是 journald
  • 是本地调试还是远程 syslog

我可以给你针对性的调试步骤或配置示例。

0 踩