Есть у SRE особая головная боль - метрики и их хранение.
У нас в Додо два Prometheus, каждый честно слал свои метрики в Mimir, ни о чём не подозревая. А на деле? Хранилище почти захлёбывалось: память росла, запросы замедлялись, отрисовать нужный график - проще в вообще все в prometheus посмотреть, чем ждать когда mimir отрисует. Иногда казалось, что мы работаем не инженерами, а оуним железо, на котором магнит биткоин mimir.
Были даже забавные моменты: сидишь, рисуешь красивую дашборду по метрикам, а она получается в два раза разных графика, потому что данные уходили по разному в каждый инстанс prometheus. Графики прыгают как на батуте, потому что каждый Prometheus отправил свой дубль world save. Пытаешься понять, почему сервис перегружен - а это просто один и тот же сигнал приходит с двух сторон. Иногда такие ситуации реально мешали находить баги и реагировать на инциденты.
И вот мы наконец решились, точнее руки дошли - мы подключили Consul к Mimir, настроили дедупликацию.
Сначала я просто не поверил графикам:
- потребление памяти у Mimir сразу упало в полтора раза
- нагрузка на Prometheus ушла примерно на 30% (и это реально чувствуется!).
Теперь жизнь стала гораздо приятнее:
- сами графики стали честнее и понятнее
- перестали терять время на борьбу с дублями
- вся инфраструктура стала быстрее реагировать на запросы и тревоги(или нет)
- наконец можно смотреть на мониторинг и ловить не фантомные сигналы, а реальные события.
Мораль — если чувствуете, что drowning in duplicate metrics, настройте дедупликацию, не откладывайте. Она не только экономит ресурсы, но делает работу SRE чуть менее страдательной и гораздо более эффективной.
Post #83
200


- 👍 4
- 👏 1