Комментарии 6
Минусом — только цифровые данные.
Плюсом — реализация на уровне ядра системы, возможность получать данные снаружи приложения, ставить алерты и пр.
Для получения метрик снаружи, в различных проектах я используются Azure Insights и AppMetrics, из которых дальше данные попадают соотвественно в Azure и Kubernetes.
Также для внешнего мониторинга я использую ASP.NET Health Checks. Но в данном случае решалась немного другая задача. Анализировались метрики относящиеся к бизнес-логике и реагировала на них система "изнутри".
Попробую описать одну из ситуаций: по метрикам производительности системы — все пока хорошо. Запросы обрабатываются быстро, сбоев нет. Но если присмотреться к обрабатываем данным с точки зрения бизнес-логики и накопленной статистики, то мы понимаем, что еще немного и начнется рост нагрузок. Можно конечно пытаться решать эту задачу снаружи, со стороны того же куба, но это будет не так эффективно, как если система сама сможет отреагировать необходимым образом на изменившиеся условия работы.
Счётчики были и с абсолютными значениями, и с аналитическими, такими как соотношения разных типов транзакций или уровень качества.
И всё это используя стандартные механизмы.
Я правильно понимаю, что вы имеете ввиду .NET PerformanceMonitor?
X.Spectator – мониторинг состояния в .NET