В настоящее время я пытаюсь создать (более простой вариант) веб-сайт статуса, похожий на Amazon Service Health Dashboard
В принципе, мне нужно подключиться примерно в 3 центрах обработки данных и к нескольким веб-сайтам с хотя бы сообщением "Вверх/Вниз".
В основном я знаком с С# и некоторым веб-программированием. Я немного знаком с веб-сервисами, и похоже, что это был бы хороший способ реализовать это. Я могу использовать Google через учебные пособия для отдельных частей, но я не уверен, как будет выглядеть обзор чего-то подобного.
Как я понимаю, это будет разбито на эти части:
Для статуса веб-сайта статус-сервер просто запустит script, чтобы проверить, возвращает ли URL-адрес ошибку.
Я смущен самым простым способом реализовать статус Центра данных. Насколько я понимаю, я могу написать веб-сервис, который получит ответы от Центра данных. Самый простой способ сделать это - программа на С#, расположенная в каждом Центре данных, которая проверяет состояние (возможно, входит в базу данных SQL) и затем отправляет статус в веб-службу? Я также смущен самым простым способом получить эту информацию на веб-сайте статуса. Я думаю, самым простым способом было бы, чтобы веб-служба записала файл, который будет читать веб-сайт статуса. Кроме того, я думаю, что потребуется время, когда вызовы веб-службы и сообщают об отключении, если он не получит сообщение о состоянии за определенное время.
Приветствуется всякая помощь на высоком уровне. Спасибо.
Самый простой способ - начать с определения вашего здоровья.
Определите, какие критерии для каждого компонента центра обработки данных определяют здоровье. Определите, как измерять эти критерии, предпочтительно с надежного сервера в центрах обработки данных. Обратите внимание, что я предлагаю вам узнать, как измерять их за пределами вашего веб-сервиса, поскольку вы не знакомы с веб-службами.
Создайте веб-службу для работы на этом надежном сервере для измерения этих критериев. Затем приложите меры к вашему веб-сервису после принятия решения о том, как вы должны возвращать результаты на веб-сайт.
Затем веб-сайт может использовать результаты вызова этих служб для обновления панели мониторинга состояния. Он может использовать AJAX для вызова служб во всех центрах обработки данных асинхронно.
Это немного усложняется, если вам необходимо включить действия, основанные на статусе центра обработки данных. Например, вам может понадобиться кнопка для запуска базы данных, если база данных окажется недоступной.
EDIT: Я также хочу убедиться, что вы знаете о продуктах, таких как System Center продукты из Microsoft. Они могут быть чрезмерными для того, что вы делаете, но они предоставляют стандартный гибкий механизм мониторинга состояния центра обработки данных и принятия мер для устранения проблем. Также см. http://www.codeplex.com/dfo.
Я также хотел упомянуть, что IPSwitch производит продукт под названием " WhatsUpGold", который делает именно это. Я использую его в течение последних 4 лет, и он, вероятно, может делать все, что вам нужно. Самое главное, это очень выгодно! Я версия позади, так как мне не нужны какие-либо новые функции! Он поддерживает распределенную многосайтовую сеть (агент на каждом сайте контролирует состояние/работоспособность и отправляет обратно в ваше основное местоположение/концентратор).
* Как упоминалось выше, ключ к мониторингу состояния устройства определяет его здоровье. Просто получить статус вверх или вниз недостаточно, так как многое другое; задержка пинга, использование диска, использование процессора и т.д. будут основаны на вашей уникальной среде.