Собственно о методах сказано мало. Под каждую упомянутую проблему неплохо бы предложить конкретное решение или хотя бы способ.
В итоге под мониторингом подразумевается дергание сайта со всех сторон и стран света. Хотя навскидку по названию топика мне в голову пришли несколько вариантов:
1. Проверялка запущенная по крону на наблюдаемом сервере, с push на ватчдог сервер.
Если нету информации — алярм!
2. API проверятыра, по сути представляющего собой функциональные тесты.
Если какой то из тестов не проходит — алярм!
3. Проверка ахтунгов типа вирусятины, от которой сайт может пострадать не меньше чем из-за простоя (выкинут из выдачи как представляющий угрозу).
Проверка md5 сумм ключевых файлов (фронт и обычные контроллеры, шаблоны)
Мда… философский пост вышел, попробую добавить немного конкретики из своей практики:
uptimerobot.com — бесплатно, проверка раз в 5 минут (заявлено), возможность проверить кейворд на странице, пинг, соединение хттп и на любом порту
Обычное решение в таких ситуациях, когда сайт требует к себе большого внимания и на нём завязаны многие бизнес-процессы — это zabbix или аналоги. Помимо мониторинга портов и днс, есть так же внешние проверки, которые ограничиваются лишь возможностями bash и php, например можно организовать запросы баланса раз в 5 минут и алярм при достижении порога. Строить графики доступности и посещаемости.
Вот хотя бы пример: как-то понадобилось следить за состоянием ИБП, была собрана программа для мониторинга ИБП под линукс от производителя, затем заббикс скриптом вызывал эту программу, искал текущее состояние ИБП (от сети или от батареи) и передавал это заббиксу, где последний триггером оповещал по смс и почте.
Добавлю свои 5 копеек.
Nagios или Icinga (форк nagios). + распределенная система серверов мониторинга. Использование сценариев обхода страниц сайта (авторизация, тестовые добавление контента и удаление).
Методы мониторинга веб-сайтов и сервисов