M
Make. Build. Break. Reflect.
@makebreakreflect1.2K подп.
1.3Kпросмотров
4 марта 2026 г.
Score: 1.4K
#opensearch #kubernetes #troubleshooting #одинденьизжизни "Алекс, у нас пропали логи. Но только на стейдже." Иду смотреть. Куб живой, метрики зелёные, поды в норме, а в OpenSearch тишина. Ни одного алёрта. Ладно. Пошёл проверять по классике: - не упал ли агент сбора логов - не отвалились ли права - не умер ли endpoint - не сломали ли что-то свежими коммитами Первый заход: Никаких коммитов, которые могли это поломать нет. Ок, идём в куб. kubectl get ds -n kube-system fluent-bit живой, все реплики Ready kubectl get pods -n kube-system | grep fluent-bit всё раннит kubectl logs -n kube-system daemonset/fluent-bit --since=30m И вот там уже не тишина. В логах: - validation_exception - this action would add [4] total shards - cluster currently has [1000]/[1000] maximum shards open Красота. Значит не "логов нет", а "логгер не может писать". Дальше мысль идёт так: куб живой, агенты живые, опенсёрч живой, с pvc всё ок. но если шардов в потолок, значит retention не чистит старые индексы.🤔 И тут флешбек: несколько месяцев назад мигрировали с filebeat на fluent-bit. Индексный префикс поменяли. Ну там было нечто типа eks-filebeat- на eks-fluentbit-, не помню уже. А retention policy, как это обычно бывает в суровой реальности, осталась смотреть на старое имя индекса ☔️. Итог: - новые индексы копились - старые правила их не трогали - шардов стало 1000/1000 - OpenSearch начал отвечать 400 на bulk insert - fluent-bit ретраил, потом сдавался - в UI ощущение, что "логи пропали только на stage" То есть виноват не новый деплой, не "вчерашний коммит", не магия. Просто policy смотрела не туда. И да, жаль, что эта policy была не в IaC, а когда-то сделана руками в консоли. Именно поэтому при миграции её и проглядели. Что проверил и что сработало: - поправил index pattern в retention/ISM policy на актуальный префикс - подчистил лишние старые индексы вручную (DELETE /indexname* предыдущих лет/месяцев) - освободились шарды - проверил повторно логи fluent-bit -> ошибки по maximum shards open ушли - в OpenSearch новые логи снова пошли Короткий вывод: - миграция агента логирования = почти всегда миграция index naming - если не обновить retention под новый pattern, инцидент это вопрос времени - всё, что не в IaC, рано или поздно теряется в памяти любой команды - алерт на долю открытых шардов нужен заранее (80-85%), а не в момент 1000/1000 (а алёрта и не было) Постмортем одной строкой: Логи не пропали. Мы сами забили OpenSearch старыми индексами, потому что retention policy жила в прошлом и смотрела на имя эпохи filebeat.
1.3K
просмотров
2550
символов
Да
эмодзи
Нет
медиа

Другие посты @makebreakreflect

Все посты канала →
#opensearch #kubernetes #troubleshooting #одинденьизжизни "А — @makebreakreflect | PostSniper