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

如何配置Fluentd采集syslog服务启动前的全量系统日志

问题根因

漏采日志的核心原因有两点:

  • 你当前配置的rsyslog转发规则,仅会处理rsyslog服务启动后实时接收到的新日志。服务启动前已经写入/var/log/syslog磁盘文件的历史日志、内核启动阶段暂存在内核环形缓冲区的早期启动日志,默认不会被主动读取转发。
  • Ubuntu默认服务启动顺序中,cron的@reboot任务触发时间早于rsyslog完成网络转发初始化的时间,这部分任务产生的日志直接落盘到syslog文件,没有经过rsyslog转发流程,自然无法到达fluentd。
配置步骤

1. 调整服务启动优先级,从源头减少漏采

先保证rsyslog、fluentd在cron服务之前启动,避免@reboot任务产生日志时转发链路还没就绪:

  • 执行systemctl edit fluentd(如果部署的是td-agent则替换为systemctl edit td-agent),填入以下配置:
[Unit]
Before=cron.service rsyslog.service
Wants=rsyslog.service
  • 执行systemctl edit rsyslog,填入以下配置:
[Unit]
After=network.target
Before=cron.service
  • 执行systemctl daemon-reload重载配置生效。

2. 配置rsyslog启动时主动拉取存量启动日志

仅调整启动顺序无法覆盖内核启动前10秒的日志(这部分日志存在内核环形缓冲区,rsyslog默认不会从头读取),也无法覆盖极端情况下早于rsyslog启动落盘的日志,需要补充模块配置:

  • 开启内核日志读取模块,编辑/etc/rsyslog.conf,在模块加载段添加或取消注释以下配置:
$ModLoad imkmsg
$kmsgReadFromStart on

该配置会让rsyslog启动时从内核环形缓冲区起始位置读取所有未消费的内核启动日志,走现有转发规则发送到fluentd。

  • 配置rsyslog启动时读取已落盘的syslog存量日志,在你之前存放转发规则的配置文件(比如/etc/rsyslog.d/90-forward-fluentd.conf)最开头添加以下配置,注意要放在*.* @127.0.0.1:5140这条转发规则之前:
$ModLoad imfile
$InputFileName /var/log/syslog
$InputFileTag syslog-stored:
$InputFileStateFile stat-syslog-stored
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor
# 启动时仅读取文件末尾10M的存量内容,足够覆盖启动阶段的日志量,避免读取全量历史日志
$InputFileReadFromStart off
$InputFileMaxBytesAtStartup 10485760

该配置不会重复发送日志:rsyslog会通过stat-syslog-stored状态文件记录已经读取过的日志位置,后续运行时会持续实时监控syslog文件追加的新内容,和原生转发流程不冲突。

3. 验证配置

重启服务器后做两项检查:

  • 对比dmesg输出的内核启动日志,确认fluentd侧已全量接收到
  • 检查你配置的@reboot logger this does not get sent to fluentd测试日志,确认fluentd侧可正常查询到
  • 如果出现少量重复日志,可以适当调小$InputFileMaxBytesAtStartup的数值,一般设置为2M~5M即可覆盖普通服务器的启动阶段日志量。
可选简化方案

如果不想修改rsyslog模块配置,也可以直接在fluentd侧补充tail输入源,直接读取/var/log/syslog文件采集全量日志,仅需要额外加一层去重规则,避免rsyslog转发的日志和tail读取的日志重复入库。补充的source配置示例:

<source>
  @type tail
  path /var/log/syslog
  pos_file /var/lib/fluentd/syslog.pos
  tag system.stored
  <parse>
    @type syslog
  </parse>
</source>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:48:36