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

rsyslog配置问题:指定标签的日志未写入目标文件

排查步骤与修复方案
  • 文件名配置不匹配
    你需要日志写入/var/log/xen-shutdown-script.log,但当前配置里指定的是/var/log/xen-pool-shutdown.log,这是直接的路径错误,先把配置中的文件路径修正为目标路径。

  • 模板变量拼写错误
    模板里的%syslogprioriy-text%存在拼写错误,正确变量名是%syslogpriority-text%(少了字母r)。变量拼写错误会导致模板解析失败,进而阻止日志写入。修正后的模板代码:

    template(name="xenShutdownScriptFormat" type="string" string="<%syslogpriority-text%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %msg%\n")
    
  • syslogtag匹配逻辑优化
    使用logger -t xen-shutdown-script生成的日志中,$syslogtag字段实际会自带冒号(格式为xen-shutdown-script:)。虽然当前的contains匹配能命中,但更严谨的写法是用startswith避免误匹配:

    if $syslogtag startswith "xen-shutdown-script:" then /var/log/xen-shutdown-script.log;xenShutdownScriptFormat
    
  • 验证配置并重启服务
    修改配置后先检查语法是否合法:

    rsyslogd -N1
    

    确认无报错后,重启rsyslog让配置生效:

    systemctl restart rsyslog
    
  • 检查日志文件权限
    确保rsyslog进程有权写入目标文件:

    1. 若文件未创建,rsyslog会自动生成,但需保证/var/log/目录对syslog用户/组有写入权限。
    2. 若文件已存在,执行以下命令修复权限:
      chown syslog:adm /var/log/xen-shutdown-script.log
      chmod 640 /var/log/xen-shutdown-script.log
      
  • 测试日志写入
    执行测试命令后查看目标日志:

    logger -t xen-shutdown-script -p syslog.info "test message"
    cat /var/log/xen-shutdown-script.log
    

    若仍无内容,可查看rsyslog自身日志(/var/log/syslog或/var/log/messages),排查是否有配置解析或文件写入的错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:01:12