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

EFK stack中Fluentd突发无法向ElasticSearch发送日志问题求助

EFK栈Fluentd写入ES中断故障排查方案

结合无配置变更下突发故障的特征,以及2022年6月同场景批量故障的共性原因,按排查优先级从高到低给出定位和修复路径:

最高优先级排查:ES磁盘高水位触发只读锁

这是该时间节点最常见的故障诱因:

  • 触发逻辑:Elasticsearch默认规则中,数据盘使用率达到90%的高水位阈值时,会自动将磁盘上所有索引置为read-only allow delete状态,拒绝所有写入请求,此时ES进程本身运行状态完全正常,仅写入链路中断,和描述的现象完全吻合。6月18日到20日的2天空窗期,刚好是日常日志累计把磁盘打满的常见周期。
  • 验证操作:
    • 执行命令查询所有索引的块配置:curl -XGET http://<你的ES服务地址>:9200/_all/_settings | grep read_only_allow_delete
    • 若返回结果包含"read_only_allow_delete" : "true"即可确认故障点
  • 修复操作:
    1. 先清理过期历史日志索引、删除无用数据,将ES数据盘使用率降到85%以下
    2. 执行命令全局解除只读锁:curl -XPUT -H "Content-Type: application/json" http://<你的ES服务地址>:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
    3. 重启Fluentd服务,观察写入链路是否恢复

次高优先级排查:浮动镜像标签导致ES 8.x版本兼容故障

  • 触发逻辑:如果部署配置中Elasticsearch、Fluentd镜像使用了latest、8这类未锁定精确版本的浮动标签,2022年6月中下旬正是Elasticsearch 8.x正式版大规模推送的窗口,节点调度或Pod重启时会自动拉取最新8.x版本镜像。8.x版本默认强制开启SSL认证、内置账号密码校验,同时完全移除了mapping type兼容逻辑,会直接拒绝旧配置下Fluentd的写入请求,ES进程本身依然显示运行正常。
  • 验证操作:
    • 执行命令查询ES运行版本:curl http://<你的ES服务地址>:9200
    • 若返回版本号为8.x开头,同时Fluentd日志中存在401认证失败、type字段不合法类报错即可确认
  • 修复操作:
    1. 快速回退方案:将ES镜像版本锁定为故障前运行的7.17.x LTS版本,滚动更新集群即可恢复
    2. 版本适配方案:在Fluentd的ES输出插件配置段补充参数:scheme https、ssl_verify false、user 你的ES访问账号、password 你的ES访问密码、suppress_type_name true,配置重载或重启Fluentd即可

兜底排查项

若以上两类场景均不匹配,按顺序逐项核对:

  • 进入Fluentd容器内部,执行curl命令访问ES9200端口,确认不存在网络策略、Service规则、防火墙拦截导致的链路不通
  • 查询ES集群健康状态:curl http://<你的ES服务地址>:9200/_cluster/health,若集群状态为red,先处理未分配的异常分片
  • 检查Fluentd缓冲目录所在磁盘的使用率,若磁盘写满会导致Fluentd既无法缓存新日志,也无法完成批量写入发送

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:54:17