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

相关推荐
我是koten11 小时前
【运维杂谈】K8s遇到Terminating的名称空间删除不了怎么办?(解决方案亲测有效)
linux·运维·服务器·云原生·kubernetes·k8s·名称空间
Csvn15 小时前
安装、升级与目录结构
后端·nginx
修己xj18 小时前
服务器无法解析域名?一次 DNS 配置缺失的排查与修复
运维
xbzb1 天前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
瑞克-桑切斯1 天前
ERP 企业生产管理系统部署手册
运维·docker·云原生·容器·eureka
江屿风1 天前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
我不会起名字3221 天前
K8s 节点磁盘打满导致 Pod 被驱逐:4 类占用与回收顺序
运维·kubernetes·k8s·diskpressure·evicted
雪落漂泊1 天前
Linux进程(五):进程地址空间篇
linux·运维·服务器
瑞克-桑切斯1 天前
docker mail商城
运维·docker·容器