Получить статус сервера вверх/вниз в C#
Прежде всего, я прошу прощения, если это было не по теме, но мне было важно получить разрешение. Вопрос немного длинноват.
Результат проекта должен быть:
Администратор должен видеть, какая серверная станция находится вверх или вниз
Обзор проекта:
Этот проект относится к телекоммуникационному сектору, дело в том, что у них есть почти 200 передающих комнат, которые соединены между собой через оптоволоконный кабель и могут быть доступны через IP-адрес.
Пожалуйста, посмотрите на изображение [Сетевое веб-изображение]
Посмотрите на центр (главный сервер). Все узлы от А до О (маршрутизаторы/серверы) взаимосвязаны с главным сервером, который может быть доступен через его IP-адрес. Узел N имеет 2 дочерние узлы (станции технического обслуживания) O и P, где K имеет подчиненных узлов L и M.
L и M подключены (состояние подключено)
в то время как оранжевая линия O и P, когда они отключены друг от друга или имеют пробой в своем маршруте, как главный сервер получает уведомление об этом.
Как я видел текущий сценарий, в настоящее время, когда у них есть какая-либо поломка между O и P, либо администратор должен войти на O-сервер и проверить, является ли статус P-сервера повышенным или пониженным, либо человек, сидящий на O-сервере, уведомляет основной сервер по телефону (то есть вручную).
Теперь владелец этого телекоммуникационного сектора хочет, чтобы всякий раз, когда у них происходит какая-либо поломка на каком-либо из своих серверов, они хотели получать автоматическое уведомление на экране.
Примечание: при подключении к каждому маршрутизатору для входа в систему требуется идентификатор пользователя и пароль.
Теперь, как я могу обнаружить, что O не подключен к P и показать уведомление на экране. какой класс В c# поможет мне выполнить эту задачу? Если какая-либо служба должна быть установлена на каждом сервере, который уведомляет о подключении своих подузлов к главному серверу, то в настоящее время их насчитывается (200 серверов), что не так уж мало.
Как насчет класса Pathping, но все еще не знаю о знании связи между O и P.
Пожалуйста, дайте любую идею/предложение, чтобы достичь этого. Поскольку я не хочу использовать для этого какое-либо стороннее программное обеспечение. Я должен развиваться самостоятельно, и в этой технологии должны быть изменения/улучшения в приложении.
Пожалуйста, помогите мне в чем-нибудь, в какой-нибудь статье или в чем-нибудь подобном.
Что я уже пробовал:
Я думал, что пингую на каждый сервер, но есть около 200 комнат передачи(серверов), которые взаимосвязаны друг с другом. Я не могу вычислить результат, который выполнит мою задачу.