You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rsyslog配置失效排查求助:无法捕获系统日志

Rsyslog无日志采集问题排查与修复

一、配置文件中的明显错误

先修正配置里的语法和逻辑问题:

  • 第一个IP条件缺少闭合单引号:原代码if ($fromhost-ip == 'x.x.x.x) then ... 需改为 if ($fromhost-ip == 'x.x.x.x') then ...
  • PureStorage日志路径错误:/X.X.X.X/syslog/admin/nas/purestorage.log 用了IP作为路径前缀,若为本地目录需改为/test/syslog/admin/nas/purestorage.log(和前两个日志路径保持一致)
  • 规则逻辑冗余:最后一个if判断可简化为默认动作,避免条件覆盖不全

修正后的核心规则集配置:

ruleset(name="nas") {
    if ($fromhost-ip == 'x.x.x.x') then /test/syslog/admin/nas/nasperge.log
    & stop;

    if ($fromhost-ip == 'x.x.x.x') then /test/syslog/admin/nas/nastronote.log
    & stop;

    # 所有未匹配的日志默认写入purestorage.log
    action(type="omfile" file="/test/syslog/admin/nas/purestorage.log")
    & stop;
}

二、基础排查步骤

  • 检查服务状态:执行systemctl status rsyslog,确认服务是否正常运行,排查启动失败报错
  • 验证端口监听:执行ss -ulnp | grep 514,确认UDP 514端口被rsyslog进程占用
  • 检查目录权限:确认/test/syslog/admin/nas/存在,且rsyslog运行用户(通常为syslog)有读写权限,权限不足时执行chown -R syslog:syslog /test/syslog/admin/nas/
  • 发送测试日志:在目标主机执行logger -n <你的Rsyslog服务器IP> -P 514 "测试日志采集",检查对应日志文件是否生成内容
  • 查看Rsyslog自身日志:执行journalctl -u rsyslog或查看/var/log/messages,查找配置加载失败、权限不足等关键报错

三、进阶排查方法

  • 开启调试模式:修改Rsyslog启动参数,添加-d选项(例如在/etc/systemd/system/rsyslog.service的ExecStart中修改),重启服务后查看调试输出,跟踪日志接收与处理流程
  • 确认模块加载:在配置开头添加module(load="imudp"),确保UDP输入模块已启用
  • 测试规则触发:在规则集中临时添加action(type="omfile" file="/test/syslog/test.log"),验证规则集是否被正确调用

内容的提问来源于stack exchange,提问作者Khalis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:56:01