Если у нас 1000 виртуальных машин Java, 20 экземпляров базы данных и 50 веб-серверов, как узнать, влияет ли каждый из этих компонентов на всю систему и если влияет, то в какой степени?
Исходя из этого, первое, чем следует заняться, — частота ошибок выполнения запросов пользователей. Это называется также мониторингом реальных пользователей (Real User Monitoring, RUM). Например, когда пользователь отправляет HTTP-запрос из браузера, получает ли он корректный ответ от сервиса? Если сервис популярен, то таких данных может быть очень много. Например, важное событие в глобальной службе новостей привлекает более 70 000 обращений к веб-сервису за секунду. Подсчитать частоту появления ошибок для такого объема данных вполне по силам любому современному процессору. Все эти данные передаются приложением (например, Apache HTTP-сервером) в демон протоколирования (например, в системный журнал Linux).