Программное обеспечение с несколькими конечными точками по разумной цене

У нас есть четыре сервера для критически важных приложений, которым требуется постоянное соединение друг с другом - всего шесть постоянно работающих соединений. Мне нужен способ контролировать эти соединения и, по крайней мере, отключить электронную почту, когда любое из них выходит из строя. Я могу найти централизованные решения, но ничего, что действительно отвечает этим требованиям. Какие-либо предложения?

РЕДАКТИРОВАТЬ: пошел вперед и свернул свой собственный в Ruby. Нагиос выглядит как приличный кусок комплекта, хотя - пошел бы с этим в противном случае.

3 ответа

Решение

Как и MarkM, я собирался порекомендовать Nagios, но я думаю, что вам нужно планировать то, что вы на самом деле измеряете более тщательно. Я ожидаю, что с 4 равноэквивалентными узлами будет задействовано 12 соединений (ab, ac, ad, ba, bc, bd, ca, cb, cd, da, bd, dc), если некоторые соединения не являются двунаправленными (?),

Использование Nagios вполне возможно либо для определения активных проверок, которые должны выполняться через определенные промежутки времени, либо для демона, ожидающего получения уведомления о статусе (в этом случае сбой связи с инициирующего сервера), и даже для запуска некоторой автоматической обработки ответа (такой как перезапуск сбойного процесса веб-сервера). Но вам нужно подумать о том, как вы справляетесь со сценариями с раздвоенным мозгом.

Вы можете запустить демон Nagios на выделенном сервере или на одном или любом количестве узлов в кластере, но остерегайтесь одновременного запуска автоматических ответов от нескольких узлов мониторинга.

C.

Nagios с открытым исходным кодом, бесплатный, кроссплатформенный и надежный.

Если все, что вам нужно, - это электронная почта, когда один сервер не может подключиться к другому, и вы работаете с самой быстрой частотой в одну минуту, это может быть так же просто, как написание быстрого скрипта (в VBScript или PowerShell), который пингует другой хост (или проверяет определенный порт на основе ваших приложений) и отправляет вам электронные письма, если он не может подключиться.

Вот пример кода от Microsoft о том, как пропинговать через VBScript, а о том, как отправлять электронную почту, используя объект CDO.

В PowerShell вы можете использовать объект System.Net.NetworkInformation.Ping.

После того, как вы получили сценарий, все, что вам нужно сделать, - это запланировать задачу на ежедневную частоту с повторением в одну минуту.

Очевидно, это хорошо, только если сервер, который не может подключиться, может получить доступ к вашему почтовому серверу, чтобы отправить вам электронное письмо.

Другие вопросы по тегам