解决rsyslog重复加载模块及参数识别异常的配置问题
解决rsyslog配置错误的具体方案
1. 统一模块加载,避免重复
- 所有模块加载语句仅放在
/etc/rsyslog.conf中,/etc/rsyslog.d/下的配置文件禁止重复加载模块 - 针对你的场景,需要加载的核心模块示例:
module(load="imfile") # 用于监控日志文件 module(load="omudp") # 若用UDP协议发往Graylog则加载,TCP协议替换为omtcp
2. 修正workDirectory参数问题
workDirectory是rsyslog全局配置参数,只能在/etc/rsyslog.conf中定义一次,禁止在rsyslog.d子配置中重复声明- 示例配置(建议选本地目录,避免NFS带来的权限/性能问题):
global(workDirectory="/var/lib/rsyslog")
3. 解决PersistStateInterval、Tag、File等参数未知错误
这些参数是imfile模块的专属配置,必须嵌套在input(type="imfile")代码块内,不能全局独立声明:
- Confluence日志配置(
/etc/rsyslog.d/confluence.conf)示例:input(type="imfile" File="/mnt/nfs/confluence/logs/atlassian-confluence.log" # 替换为你的NFS日志路径 Tag="confluence" PersistStateInterval="1000" Severity="info" Facility="local0" ) # 将标记为confluence的日志转发至Graylog,替换为你的Graylog地址和端口 if $syslogtag contains 'confluence' then @192.168.1.100:514 & stop # 避免日志重复写入本地文件 - Jira日志配置(
/etc/rsyslog.d/jira.conf)同理:input(type="imfile" File="/mnt/nfs/jira/logs/atlassian-jira.log" Tag="jira" PersistStateInterval="1000" Severity="info" Facility="local0" ) if $syslogtag contains 'jira' then @192.168.1.100:514 & stop
4. NFS与权限配套检查
- 确保rsyslog进程所属用户(通常是
syslog)对NFS共享的日志目录拥有读权限 - NFS挂载时建议添加参数
rsize=8192,wsize=8192,hard,降低日志读取中断概率 - 若NFS服务器未设置
no_root_squash,需调整exports配置,避免syslog用户无法读取NFS上的日志文件
5. 验证与重启服务
- 先检查配置语法是否合法:
rsyslogd -N1 - 语法无报错后重启rsyslog:
systemctl restart rsyslog - 确认服务正常运行:
systemctl status rsyslog
内容的提问来源于stack exchange,提问作者landy
相关产品推荐
相关产品推荐

