Nginx 后端error.log疯狂刷盘问题分析

一、背景

Nginx error.log疯狂刷盘, 一直报错信息如下: 导致Loki日志告警信息误告,无法正常查看和排查 真实有效的告警,造成干扰.

二、排查与原因分析

观察到error.log基本上每隔1s都会进行日志刷盘动作记录, 并且查看了access.log没有发现时间点每秒钟有客户端访问且造成如5xx的错误,由此排除了是客户端触发的可能性。 那么排查方向改为是否有类似health check的主动探测机制导致的呢?

排查发现 nginx使用了check主动探测模块:

那么再查看nginx相关配置文件,查找这种探测间隔为1s的配置文件都有哪些? 正确确实有: check类型是http 有且只有1个 其他都是tcp探测类型:

将无效后端移除, error.log恢复正常,不再疯狂刷盘. 猜测是这个版本的check模块,应该是http类型则记录error.log日志,tcp则不记录需要进行验证.

三、TCP探测类型与HTTP探测类型,日志记录特征分析

check模块源码: https://github.com/zhouchangxun/ngx_healthcheck_module/tree/master

结论: AI排查阅读源码,发现确实如此,TCP探测类型默认日志级别不会写入探测错误log 只有HTTP探测类型会写入error.log日志:

https://www.doubao.com/thread/xwzdu6Ycuf8u1cCgu

相关推荐
逐流人1 小时前
ELK企业级日志分析系统:从零搭建集中化日志平台
运维·elk·云原生·云计算·日志分析
Sayai1 小时前
Elasticsearch Rollup 汇算索引实战:监控指标多粒度预聚合查询,附 painless 时间窗取每日最新值
大数据·运维·elasticsearch·搜索引擎·性能优化·监控
Z21-X1 小时前
云原生运维学习笔记:存储、网络与操作系统——云计算的底层基石
运维·笔记·学习·云原生
邪修king4 小时前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
运维行者_5 小时前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
考虑考虑9 小时前
nginx路由重写
运维·后端·自动化运维
Zenova EdgeOS11 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军12 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen12 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器