排查一次线上问题后把 APM 采样率从 5% 调到 50%,第二天 ES 索引从 90G 涨到 490G,集群状态变 yellow,写入开始报 rejected execution 429。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,采样率翻十倍,写入量基本也翻十倍,索引和副本又乘二。按天切的索引没有配 ILM,旧索引一直留着,磁盘增长是叠加的。分片数按 90G 建的,涨到 490G 后单分片超过 50G,查询也变慢。

「采样率上调存储」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

GET _cat/indices/apm-*?v&s=store.size:desc
PUT _ilm/policy/apm-7d
{ "policy": { "phases": { "delete": { "min_age": "7d", "actions": { "delete": {} } } } } }

同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。

具体做法是,先按天统计索引大小 确认增长来自采样还是新字段;调到 20% 观察一天 用真实排查需求验证够不够;给索引配 ILM 热 7 天温 30 天 到期删除;分片数按每 30G 一片重算 别沿用旧模板。

最后用这个标准收尾,索引日增量回到 100G 以内,集群状态恢复 green,429 不再出现。

作者 9823189