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

如何配置rsyslog读取指定目录下的日志文件

配置rsyslog读取指定目录下的日志并转发

1. 加载imfile模块

rsyslog依赖imfile模块读取本地文件,首先在配置中加载该模块(推荐在/etc/rsyslog.d/下新建自定义配置文件,比如00-network-log.conf,避免修改主配置/etc/rsyslog.conf):

module(load="imfile")

2. 配置监控指定目录的日志文件

根据需求配置监控目标目录下的日志文件。比如要监控/opt/my-network-logs/目录下所有.log后缀的文件,添加以下配置:

input(
    type="imfile"
    File="/opt/my-network-logs/*.log"  # 指定监控的文件路径,支持通配符匹配
    Tag="network-log:"                 # 给这类日志添加专属标签,方便识别过滤
    StateFile="rsyslog-network-logs"   # 记录日志读取位置的状态文件,防止重启后重复读取
    Severity="info"                    # 自定义日志级别,可根据实际场景调整
    Facility="local0"                  # 自定义日志设备,用于分类管理
    PollingInterval="10"               # 可选:每隔10秒检查目录变化,旧版本rsyslog可能需要
)
  • 若要监控目录下所有文件(不限后缀),将File参数改为/opt/my-network-logs/*
  • Tag参数会作为日志前缀,方便后续精准转发或筛选

3. 配置日志转发

你已有的全局转发规则*.* action(type="omfwd" target="192.0.2.2" port="10514" protocol="tcp")会覆盖所有收集到的日志,包括刚配置的目录日志。如果只想转发这类网络日志,可以替换为精准规则:

:syslogtag, isequal, "network-log:" action(type="omfwd" target="192.0.2.2" port="10514" protocol="tcp")

4. 配置权限

确保rsyslog运行用户(通常是syslog或adm)有目标目录及文件的读取权限:

chown -R syslog:syslog /opt/my-network-logs/
# 若需要兼容其他用户读写,可设置ACL:
setfacl -R -m u:syslog:rX /opt/my-network-logs/

5. 重启rsyslog服务

配置完成后,重启服务使配置生效:

systemctl restart rsyslog
# 旧系统可使用:
service rsyslog restart

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:20:29