В настоящее время я использую службу мониторинга производительности New Relic. Пока работает отлично, за исключением того, что я бы хотел автоматизировать некоторые вещи. Я просто получаю уведомление по электронной почте, когда производительность плохая или мой сайт не работает. Если сайт не работает, я бы хотел попробовать перезапустить сервер приложений (при необходимости убив процесс, что иногда бывает). Если через какое-то время это не сработает, попробуйте перезагрузить всю машину ... Я даже заплатил за PagerDuty, который может анализировать электронные уведомления New Relic и звонить или отправлять мне SMS с процедурой эскалации уведомлений. Но он не может запускать скрипты ...
Похоже, это будет популярная функция любого инструмента для мониторинга веб-сайтов ... что-нибудь хорошее?
Проблема с размещенными службами мониторинга, такими как New Relic, выполняющими пользовательские сценарии, заключается в проблемах безопасности - если он не очень хорошо изолирован, сценарий может неблагоприятно повлиять на системы службы мониторинга.
Единственный способ сделать это действительно безопасно - это иметь очень ограниченный набор возможных реакций, которые можно сделать безопасными. Самым распространенным может быть что-то вроде обратных вызовов HTTP, когда служба мониторинга отправляет POST-запрос на выбранный вами URL-адрес, содержащий данные о том, что произошло, на что вы можете реагировать и делать все, что вам нужно. Обратной стороной этого, конечно же, является то, что в вашей инфраструктуре должна быть запущена еще одна служба, которая принимает эти события и принимает меры.
Я не могу найти ничего в быстром поиске New Relic в Google, что могло бы охватить подобные вещи; вполне возможно, что они не справятся с этим, а уведомления по электронной почте / SMS - лучшее, что вы можете получить, не прибегая к другой службе мониторинга.
Именно по этим причинам я предпочитаю запускать свою собственную инфраструктуру мониторинга - такие настройки, как New Relic, могут быть полезны для специальных знаний, которые они могут предложить для мониторинга, скажем, производительности приложений Rails, но для управления самой инфраструктурой я сохраняю их. в доме.
Что ж, сценарии Nagios обычно только сообщают о статусе Nagios, но ничто не мешает им делать больше, когда им нужно сообщать ПРЕДУПРЕЖДЕНИЕ или FAIL.
Изменить: Технически это работает и легко сделать, но может иметь непредвиденные последствия. Лучшее решение - настроить Nagios для решения проблемы с инфраструктурой обработчика событий.
Если размещенное решение в порядке, AlertFox может запускать скрипты («макросы») в случае ошибки. Эти макросы могут, например, войти в панель конфигурации вашего веб-хоста и вызвать перезагрузку.
Если вам нужно легкое решение, вы можете использовать контролировать.
Более того, он может быть интегрирован с nagios позже, если вы захотите.
Морской лев может запускать любой инструмент / скрипт командной строки. Это дает вам безграничные возможности. Например, вы можете написать свои собственные сценарии bash и заставить GNU Mailutils отправлять уведомления по электронной почте. Он также имеет предупреждения для наиболее используемых показателей, таких как ЦП, память, средняя загрузка и т. Д.