Pull to refresh

Comments 6

А вы не пробовали заиспользовать Performance Counters?
Минусом — только цифровые данные.
Плюсом — реализация на уровне ядра системы, возможность получать данные снаружи приложения, ставить алерты и пр.

Для получения метрик снаружи, в различных проектах я используются Azure Insights и AppMetrics, из которых дальше данные попадают соотвественно в Azure и Kubernetes.
Также для внешнего мониторинга я использую ASP.NET Health Checks. Но в данном случае решалась немного другая задача. Анализировались метрики относящиеся к бизнес-логике и реагировала на них система "изнутри".


Попробую описать одну из ситуаций: по метрикам производительности системы — все пока хорошо. Запросы обрабатываются быстро, сбоев нет. Но если присмотреться к обрабатываем данным с точки зрения бизнес-логики и накопленной статистики, то мы понимаем, что еще немного и начнется рост нагрузок. Можно конечно пытаться решать эту задачу снаружи, со стороны того же куба, но это будет не так эффективно, как если система сама сможет отреагировать необходимым образом на изменившиеся условия работы.

Метрики же можно разными делать. Я на счётчиках выводил именно показатели «живости» системы, а также полезные бизнес-показатели. Что-то что на дашборд в отдел сопровождения — там же и алерты были взведены. Что-то что на дашборд бизнесу — у них тоже была в итоге красивая картинка по их метрикам.
Счётчики были и с абсолютными значениями, и с аналитическими, такими как соотношения разных типов транзакций или уровень качества.
И всё это используя стандартные механизмы.
Я имел в виду классические счётчики, которые недоступны напрямую в .Net Core. Под Core я со счётчиками пока не игрался.
Спасибо, посмотрю. В моем случае все проекты изначально разрабатывались для работы под .NET Core
Sign up to leave a comment.

Articles

Change theme settings