Ошибка, контролирующая/обрабатывающая на веб-серверах

У нас есть веб-сервер, на который мы собираемся запустить много приложений. Они все совместно используют базу данных и memcached серверы, но каждое приложение имеет свою собственную базу данных MySQL и все memcached ключи на приложение, снабжается префиксом.

Возможный сценарий:

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

Если мы, мы собираемся установить 150 идентичных приложений для наших клиентов на наших серверах и memcached сервере, умрем - то все 150 приложений индивидуально узнают это и свяжутся с нашим системным администратором, который несомненно собирается думать о получении нового задания, где он не собирается, разбужены путем получения 150 сообщений, отправленных 4:15 утром.

Возможное решение:

Одна идея состоит в том, чтобы настроить внешний сервер для обработки ошибок, которая получает $ _POST или ВИХРЕВОЙ запрос, отправленный, и обрабатывает устройство хранения данных сообщения об ошибке в зависимости от серьезности фактического сообщения об ошибке. Это, конечно, проверило бы после приема ошибочного вызова, что, если бы о том же memcached сервере уже сообщили как офлайн, не было бы никакой потребности массово разослать системного администратора с дополнительными напоминаниями...

Вопросы:

  • Что такое хороший подход к тому, как обработать ошибки?
  • Как делает больших парней в промышленном дескрипторе это?

Спасибо!

5
задан Industrial 28 May 2010 в 17:27
поделиться

2 ответа

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

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

Я не использовал его для мониторинга приложения PHP (хотя предполагаю, что он может), но очень успешно использовал его для мониторинга приложения Java и связанной с ним базы данных MySQL.

3
ответ дан 14 December 2019 в 19:04
поделиться

Что ж, думаю, вашу проблему лучше всего решить вне приложения.

Вы хотите отслеживать физические и программные серверы / службы. Я бы порекомендовал что-то вроде http://www.nagios.org/ или http://www.opennms.org/ . Настройте его для наблюдения за каждым сервером memcached, сервером mysql, apache и т. Д. И отправкой уведомлений об изменении состояния (отключение, нехватка ресурсов, восстановление и т. Д.)

2
ответ дан 14 December 2019 в 19:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: