程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
故障排查 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
小程序图片上传失败排查:用 code=400 分布和 route_name 收敛到微信基础库灰度
案例
小程序图片上传失败排查:用 code=400 分布和 route_name 收敛到微信基础库灰度
2026-11-09 00:04:34
一次持续三天、10 多人参与的小程序上传图片失败排查:如何用差异对比先切责任段(用户侧/运营商链路/Kong/后端),再用 code=400 占比与 route_name 分布把范围收敛到终端,最终定位到微信基础库灰度;含日志维度设计、trace_id 透传与 SLI 阈值取舍。
排障案例
故障排查
小程序
Kong
可观测性
MySQL 8.4.13:丢弃表空间再导入旧镜像后,点查为什么读到旧数据
案例
MySQL 8.4.13:丢弃表空间再导入旧镜像后,点查为什么读到旧数据
2026-11-05 21:07:05
MySQL 8.4.13 修了两个 InnoDB 表空间导入缺陷:导出的表被改过、表空间 DISCARD 后又导入旧镜像时,点查会命中陈旧 AHI 条目返回旧代数据;导入失败后的残留页还会在 eviction 时触发 btr0sea.cc 断言。本文给现象、原因与排查步骤。
MySQL
InnoDB
数据库
故障排查
表空间
20 个定时任务挂了 12 小时零告警:systemd-run --user 在系统级服务里找不到总线
案例
20 个定时任务挂了 12 小时零告警:systemd-run --user 在系统级服务里找不到总线
2026-11-03 20:02:26
系统级服务里调 systemd-run --user --scope,缺 XDG_RUNTIME_DIR 导致连不上 /run/user/<uid>/bus,20 多个定时任务失败 188 次、看门狗全程无告警。完整排查链、三条探针命令,以及补环境变量、enable-linger、改 --service、改用系统级 service 四种修法的取舍。
systemd
Linux
运维
定时任务
故障排查
binlog 序号跨过 999999 后,半同步复制会静默变回异步
编程
binlog 序号跨过 999999 后,半同步复制会静默变回异步
2026-10-24 21:04:20
半同步复制跑久了,binlog 文件名后缀会从 6 位变成 7 位(mysql-bin.1000000)。这时复制协议会静默退回异步:不报错、日志干净、rpl_semi_sync_source_status 仍然是 ON,但提交不再等 replica 的 ack。本文给出复现与确认顺序、比状态变量更可靠的监控口径,以及升级时的默认值连带影响。
MySQL
复制
故障排查
网络恢复了,组却回不来:MySQL 9.7.4 修掉的 Group Replication 分区恢复死循环
编程
网络恢复了,组却回不来:MySQL 9.7.4 修掉的 Group Replication 分区恢复死循环
2026-10-22 21:02:02
网络分区恢复后 Group Replication 丢了 quorum,日志反复刷 MY-013781 且写入一直挂起。给出连接 delegation 卡住重连循环的原因、三条确认依据(错误日志、成员状态、事务队列)、9.7.4 的单次非阻塞修复,以及多网卡主机同 SQL 端口的成员识别坑。
MySQL
Group
Replication
复制
故障排查
关掉 index_merge_union 后 OR 查询返回空集:MySQL 9.7.4 修掉的优化器正确性 bug
编程
关掉 index_merge_union 后 OR 查询返回空集:MySQL 9.7.4 修掉的优化器正确性 bug
2026-10-21 21:06:11
MySQL 把 index_merge_union 关掉后,某些 OR 查询会漏掉一个 disjunct,本应四行却返回 Empty set。本文给出最小表结构、开关对照的 EXPLAIN 与结果比对方法,说明 EXPLAIN 不能证明结果正确,并给出升级、恢复开关、UNION ALL 重写三条修法。
MySQL
优化器
故障排查
接口 504 排查:ServiceLatency 为 0,说明请求根本没到后端
编程
接口 504 排查:ServiceLatency 为 0,说明请求根本没到后端
2026-10-18 00:03:14
接口报错先别急着翻后端日志:用响应头里的 X-Ca-Error-Code / X-Ca-Request-Id、TotalLatency 与 ServiceLatency、以及 8 个 IO 时间点,判断请求是被网关拦截还是已转发到后端,耗时落在哪一段;附 Nginx $request_id、Go 中间件与 curl 计时对齐的自建落地方式。
接口排障
API网关
故障排查
可观测性
nginx 因 1 秒 DNS 空窗拒绝启动:整机站点宕机 3 小时复盘
案例
nginx 因 1 秒 DNS 空窗拒绝启动:整机站点宕机 3 小时复盘
2026-09-25 21:01:41
一次 unattended-upgrades 升级 systemd 触发 needrestart 批量重启,BIND 与 nginx 竞速差 1 秒:nginx 解析不到上游域名直接 emerg 拒绝启动,全站宕机 3 小时。文中给出 journalctl 定位时间线、After=nss-lookup.target 为何失效、systemd Restart= 自愈配置,以及 proxy_pass 变量化后前缀替换失效的坑与 rewrite break 正解。
nginx
systemd
故障排查
DNS
运维
反代
maxActive 和 max_connections 都设 151:导出功能打满 MySQL 连接池的复盘
案例
maxActive 和 max_connections 都设 151:导出功能打满 MySQL 连接池的复盘
2026-09-18 21:05:18
订单服务凌晨 P99 破 5 秒、MySQL 连接被榨干,根因是新上线的历史订单导出把连接按住一分多钟,而 maxActive 与 max_connections 都设成 151、没有余量。本文复盘排查过程,给出查询超时、读写分离、异步任务队列三个方案与 maxActive 按 60%-80% 设置的取舍。
MySQL
运维
故障排查
性能优化
连接池
AX
systemd 服务起不来但权限看着都对?先看 SELinux AVC 日志,再查沙盒指令
综合
systemd 服务起不来但权限看着都对?先看 SELinux AVC 日志,再查沙盒指令
2026-09-18 21:04:37
systemd 服务被拒绝启动时,rwx 权限正常也可能是 SELinux/AppArmor 或沙盒指令在拦。本文给出排查顺序:sestatus 与 ausearch 读 AVC 日志、semanage fcontext+restorecon 修上下文,以及 ProtectSystem/PrivateTmp/CapabilityBoundingSet 等沙盒指令按需放宽的做法。
Linux
systemd
运维
SELinux
故障排查
误删 98 张表后靠 binlog 恢复:从定位 end_log_pos 到资金对账的完整复盘
案例
误删 98 张表后靠 binlog 恢复:从定位 end_log_pos 到资金对账的完整复盘
2026-09-18 21:03:27
一份 MySQL 生产库被 98 张表结构导出文件误执行后、靠 binlog 做时间点恢复(PITR)的完整复盘:从停库取证、grep DROP TABLE 定位 end_log_pos、构造可信基线、沙箱回放与错误码分类,到外键孤儿检查、账本重建余额与字符集双重编码修复,附可复用脚本骨架。
MySQL
数据库
运维
故障排查
数据恢复
外键
实战
部署脚本退出码 127/126/137/139:Linux 自动化安装失败的排查路径
综合
部署脚本退出码 127/126/137/139:Linux 自动化安装失败的排查路径
2026-09-12 21:02:58
Linux 自动化安装脚本失败时,退出码是最直接的诊断入口:127 二进制不在 PATH、126 权限或 noexec、137 被 OOM Killer 杀、139 ABI 段错误。附 strace、dmesg -T、curl -Iv、mtr 的排查用法,以及一段可直接放进脚本头部的防御性调试片段。
Shell
运维
故障排查
PHP 8.4 虚拟属性钩子撞上 opcache.jit=1205:读到相邻属性内存,进程报 zend_mm_heap corrupted
编程
PHP 8.4 虚拟属性钩子撞上 opcache.jit=1205:读到相邻属性内存,进程报 zend_mm_heap corrupted
2026-09-12 21:02:02
PHP 8.4 生产事故复盘:开启 opcache.jit=1205 后,虚拟 property hook 直接作为实参时 JIT 缺 hook-enter guard,把 hook 当普通属性读,读到相邻 slot 内存,最终 zend_mm_heap corrupted。列出必须同时满足的 8 个触发条件、Self/Sibling-primed 两种路径与修复思路。
PHP
JIT
OPcache
故障排查
广告投放归零的那一天,AI Agent 在几分钟内找到了问题
编程
广告投放归零的那一天,AI Agent 在几分钟内找到了问题
2026-09-06 03:11:20
真实生产事故故事:广告投放突然全部归零,传统排查方式花了近一小时没找到问题,而AI Agent只用几分钟就定位了根因——一个被意外修改的全局流量开关配置。文章详细记录了事故经过、AI Agent的排查过程(数据趋势分析→配置变更检查→影响范围确认→根因定位)、根因分析、AI Agent在故障排查中的价值(快速关联分析、不受认知偏差影响、持续学习、7x24小时运行),以及改进措施。
AI Agent
故障排查
运维
广告技术
监控
可观测性
事故复盘
DevOps
记一次 K8s 503 排障:Ingress backend 端口写成 targetPort,Ingress-NGINX 只给 Warning 不给 Error
编程
记一次 K8s 503 排障:Ingress backend 端口写成 targetPort,Ingress-NGINX 只给 Warning 不给 Error
2026-09-03 00:04:09
面向仍在生产使用 ingress-nginx 的运维:一次持续 503 排障。根因是 Ingress backend.service.port 误写 targetPort,Controller 不报 Error、只落 Warning 并默默 fallback,小流量碰巧通、上量就崩。含可复现排查 checklist 与修复 YAML,并澄清 rewrite-target 为何救不了端口问题。
ingress-nginx
Kubernetes
Ingress
故障排查
Nginx
Redis 大 key 带 TTL:到期瞬间删除卡住主线程,slowlog 却查不到
案例
Redis 大 key 带 TTL:到期瞬间删除卡住主线程,slowlog 却查不到
2026-09-02 21:03:07
一次 Redis"没挂但接口全超时"的复盘:集合型大 key 设置了 TTL,到期瞬间主线程同步 O(N) 遍历释放内存卡住几百毫秒到秒级,且 slowlog 查不到(过期删除是内部循环事件)。讲清排查(--bigkeys/MEMORY USAGE/HLEN)、治理(UNLINK、lazyfree-lazy-expire、HSCAN 分批、分片 key)与边界。
Redis
运维
故障排查
性能
OpenSRE 深度解析:当 AI Agent 遇上生产故障排查,SRE 的范式革命正在发生
编程
OpenSRE 深度解析:当 AI Agent 遇上生产故障排查,SRE 的范式革命正在发生
2026-04-18 11:15:31
OpenSRE 是一个开源的 AI SRE Agent 框架,专注于生产环境故障的根因分析。本文深度解析其架构设计、合成测试体系与实战应用。
OpenSRE
SRE
AI Agent
DevOps
故障排查
开源项目
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调