td-agent-bit仅重启后推送日志,后续停止工作求助
td-agent-bit Tail输入插件停止推送日志至OpenSearch问题排查建议
问题描述
当前办公环境仍需使用td-agent-bit,计划今年晚些时候升级至新版fluent-bit。使用以下配置监控日志文件:
[INPUT] Name tail Path /ws/int/xxx/log/c/log/lvasc-xxx/import-management.log,/ws/int/xxx/log/c/log/lvasc-xxx/importer.log Path_Key On Tag ax_imports_c Parser ax_parser DB /home/pgostack/tail_c.db Buffer_Max_Size 250MB Refresh_Interval 10 [OUTPUT] Name opensearch Match ax_imports_c Host lvast-pgopbos01 Port 9200 Index imports_index Type imports_type HTTP_User cccc HTTP_Passwd cccccc! tls On tls.verify Off Suppress_Type_Name On Logstash_Format On Logstash_Prefix ax_imports_c
启动td-agent-bit时能正常推送所有日志至OpenSearch,但后续停止推送,仅重启服务才能补推遗漏日志。已尝试调整多种参数但问题依旧,而含exec例程的配置运行正常。
排查建议
- 检查Tail插件DB文件权限:确认
/home/pgostack/tail_c.db所在目录及文件拥有td-agent-bit运行用户(通常为td-agent-bit或root)的读写权限。权限不足会导致插件无法更新日志读取位置记录,进而停止追踪新日志。 - 验证日志写入与轮转模式:若日志采用截断式写入(如logrotate未使用
copytruncate),Tail插件可能无法检测文件变化。建议确认logrotate配置使用copytruncate模式,同时确保Tail配置中Read_from_Head设为Off(默认值)。 - 调整缓冲区参数:当前仅配置
Buffer_Max_Size 250MB,可添加Buffer_Chunk_Size 32MB和Buffer_Flush_Interval 5,优化缓冲区的写入与刷新逻辑,避免因缓冲区堆积阻塞推送。 - 查看详细运行日志:启动td-agent-bit时添加
-vv参数开启debug级日志,执行命令:td-agent-bit -c /path/to/your/config.conf -vv,重点排查Tail插件的文件监控状态、OpenSearch输出的错误信息(如连接超时、认证失败、索引写入异常)。 - 单文件测试:暂时仅监控其中一个日志文件,排查是否为某一文件的特殊写入行为导致问题,缩小排查范围。
- 检查OpenSearch集群状态:确认集群无写入压力过大、磁盘空间不足、索引只读等情况,这些问题会导致输出插件写入失败,进而阻塞输入端缓冲区,最终停止读取新日志。
- 升级同分支小版本:若当前td-agent-bit版本存在已知的Tail或OpenSearch插件bug,可升级至同大版本下的最新小版本(如1.9.x分支的最新版),避免跨大版本带来的兼容性问题。
内容的提问来源于stack exchange,提问作者Thomas Tausend
相关产品推荐
相关产品推荐

