Я ищу предложения по простому мониторингу веб-фермы ASP.Net, максимально приближенному к реальному времени. Задачи этого вопроса:
- Определите лучший способ мониторинга нескольких производственных коробок Windows Server в течение короткого (минутного) периода смешной нагрузки
- Получайте отзывы в реальном времени о нескольких ключевых показателях для каждой ячейки. Это простые метрики, доступные через WMI, такие как CPU, память и дисковый пейджинг. Я определяю свои временные ограничения как можно скорее с задержкой в 120 секунд, являющейся абсолютным верхним пределом.
- Отслеживать, работает ли какая-либо из указанных коробок (при этом «вверх» определяется как отвечающий веб-запрос за разумное время)
Вот больше деталей, что я пробовал и т.д.
- Я не заинтересован в ведении журнала. У нас есть решения для ведения журнала.
- Я рассмотрел такие решения, как ELMAH , которые не обеспечивают много возможностей для мониторинга оборудования и не видны во всей веб-ферме.
- ASP.Net Мониторинг работоспособности слишком широк, слишком сосредоточен на ведении журнала и не подходит для глубокого анализа.
- Мы работаем в Amazon Web Services и изучили CloudWatch. Это выглядит великолепно, но сообщения на форуме указывают на то, что метрики часто отстают на несколько минут, причем один поток ссылается на 2 минуты как абсолютное значение, которое вы можете ожидать получить быстрее. Это было бы хорошо иметь для последующего анализа, но не помогает нам в режиме реального времени
- Такие вещи, как профилировщик JetBrains, хороши для тестирования, но опять же, бесполезны во время мониторинга в реальном времени.
- Ближайшее готовое решение, которое я видел, это Nagios , которое является бесплатным и, по-видимому, измеряет ключевые показатели на любом виде бокса, включая Windows. Тем не менее, он требует, чтобы Linux работал на нем, и много ручной настройки. Я предпочел бы не тратить свое время на майнинг конфигурационных файлов, а затем быть в затруднительном положении, когда он выходит из строя в работе, поскольку Linux не является моей основной (или даже вторичной) средой.
Существуют ли какие-либо готовые решения, которые мне не хватает? Очевидно, что решение на основе Windows, которое легко установить, идеально. Мне не нужно много наворотов.
В отсутствие готового решения для меня, кажется, легко написать что-то простое, чтобы справиться с тем, что мне нужно. Я думал о простой настройке клиент-сервер, где сервер запрашивает несколько метрик WMI у каждого клиента через http и помещает их в базу данных. Затем мы можем отслеживать показатели с помощью запроса, панели инструментов или чего-то еще. Если клиент не отвечает, он фактически не работает.
Есть ли проблемы с этим, передовой практикой или другими идеями?
Спасибо за любую помощь / обратную связь.
ОБНОВЛЕНИЕ: Мы изучили Cloudwatch немного больше, и мы можем сосредоточиться на его испытании. Это сообщение на форуме - самая официальная вещь, которую я могу найти. В нем представитель Amazon говорит, что официальное окно задержки для данных составляет 4 минуты. Однако пользователь говорит, что данные за 2 минуты всегда надежны, а 1 минута иногда надежна. Мы попробуем это и надеемся, что этого достаточно для наших нужд.