![]()
Adil Khan 在简历上写"熟悉Prometheus"写了两年,直到被同事一句"它怎么发现你的pod"问住。他承认自己其实不懂,然后干了件狠事——从零搭了一套监控栈,专门等着看它怎么崩。
![]()
第一块仪表盘就给他上了一课。http_requests_total 数字蹭蹭往上涨,1000、5000、23000。他盯着看了半天,"这算好还是坏?" 换句话说,一个只增不减的计数器就像汽车里程表——你知道跑了多远,但不知道现在开多快。换成 rate(http_requests_total[1m]) 才看见真相:流量尖峰、平台期、断崖下跌,全出来了。
![]()
接着他发现曲线平滑得可疑。查了半天,窗口期设了8分钟,30秒的 spike 被平均得干干净净。改回1分钟,世界立刻清晰。还有堆叠图,视觉上把各pod流量加在一起,比较单pod表现时纯属误导,当场关掉。
最狠的bug藏在他自己代码里。Prometheus 报 context deadline exceeded,三个pod全DOWN。他以为是配置问题,标签查了三遍。结果是 home 路由里有个 time.sleep(2),Gunicorn worker 被拖慢,/metrics 请求超时。删掉那行,三个目标秒变 UP。他后来写:「你的监控健康程度,取决于你的应用性能。」
现在他的GitHub仓库挂着完整代码,但README里没提这段——最值钱的部分是这些失败记录。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.