Как стать автором
Обновить

Комментарии 6

Привет! Спасибо за статью! Рассматривали ли вы вариант делать микросервисы на одной базе аля своём фреймворке , который под капотом умеет слать все общие между микросервисами метрики? Если да, то почему такой вариант не подошёл? Тогда в графане достаточно было просто сделать один раз общий дашборд на котором сделать переключатель по микросервисам. У нас так сделано и не надо ничего изобретать ? все микросервисы конечно при таком подходе должны использовать общие методы логирования, воркеров, консьюмеров, контроллеры веб сервера и тд

Привет! Спасибо за вопрос!

Да, у нас все микросервисы на одной платформе. Многие технические метрики пишутся именно платформой, и это во много позволило достичь стандартизации.

Но вариант с единым дашбордом с переключателем для всех микросервисов нам не подошёл, потому что набор панелей у нас отличается в зависимости от технического устройства микросервиса и типов API, которые он предоставляет. Например, у сервиса с публичным REST API и у сервиса, который внутри контура взаимодействует только через kafka, дашборды будут отличаться. Нам хочется видеть на дашборде только те панели, которые релевантны конкретному сервису.

Ещё на дашборд иногда добавляется ряд с "бизнесовыми" метриками (например, количество успешно заказанных карт). Мы стремимся к тому, чтобы у микросервиса была строго определённая роль с точки зрения бизнес логики. И если существует метрика, по которой видно, насколько хорошо он с этой ролью справляется, то мы добавляем для неё панель и алерты. Чтобы не перемешалось с техническими метриками, выносим "бизнесовые" в отдельный ряд.

В сумме это позволяет иметь дашборды которые могут ёмко передать всю ключевую информацию о состоянии сервиса. Но не даёт возможности сделать один единый дашборд с переключателем.

Спасибо статью!
Пару вопросов к оперированию этими дашбордами:

  1. Графана привязана к одному тестовому окружению или шариться между всеми?

  2. Тестируете ли вы дашборды? Если да, то как

  3. Как дашборды чистятся при удалении сервиса?

Привет!

  • Графана одна на все среды, но конкретное окружение можно выбрать при помощи переменной на дашборде

  • Пока такого процесса нет. Но автоматизация позволила существенно сократить человеческий фактор и вероятность ошибки. Пока покопим опыт так, потом подумаем требуется ли нам тестировать дашборды

  • Удаление сервиса сейчас не является у нас полностью автоматизированным процессом. Некоторые ресурсы освобождаются автоматизировано, некоторые нет. Есть чеклист со списком ресурсов, которые требуется освободить — среди них дашборды. Думаю со временем автоматизация и сюда придет

Как насчет ссылок на репозиторий? Судя по всему DSL от ЮMoney снесли с github, документацию тоже толком не смогу найти.

Информацию по ЮMoney можно найти здесь: https://git.yoomoney.ru/repos?visibility=public

Зарегистрируйтесь на Хабре, чтобы оставить комментарий