Пошаговое руководство по установке и настройке внешнего мониторинга для всех ваших серверов и сайтов в одном месте.
Долго же я откладывал мониторингов сайтов на потом, и вот настало это потом. Это, конечно, не проблема следить за сайтами, когда их у тебя пару штук. А когда их кол-во становится > 5 и при неожиданном падении какого-либо из них, нас уведомляет Яндекс-Директ спустя, эдак, 12 или более часов, начинаешь задумываться над действительно быстрым и профессиональным мониторингом.
Сайты-сайтами, а сервера ведь тоже желательно бы постояно мониторить, даже если сервер один. Мало ли? Мускул рухнет из-за переполнения памяти, проц на соточку будет грузиться из-за полуподвисшего демона. Аптайм самого хостера, в конце-концов.
И я нашел такой сервис — newrelic. com
Возможности New Relic
- Бесплатно и без весомых ограничений.
- Мониторинг как серверов, так и сайтов.
- Веб интерфейс + приложения на смартфонах.
- E-Mail уведомления через минуту при каком-либо сбое.
- Лёгкая и быстрая установка. Все инструкции расположены на самом сайте.
Как видно, есть всё необходимое для полноценного мониторинга сайтов и серверов, и то это не все возможности данного сервиса. Собственно, под большинство требований Web-мастеров он подходит как никогда кстати, поэтому смело можно регистрироваться. При регистрации спросят номер сотового, и если Вы не планируете получать смс-уведомления о критических сбоях, то можно ввести рандомный номер (никакого смс-подтверждения/активации номера не будет, только активация по почте).
Добавляем сервер
После регистрации переходим на вкладку «Servers», выбираем ось Вашего сервера (в моём случае это Red Hat or CentOS) и следуем инструкции по установке.
Подключение репозитория
Добавление ключа в конфиг
Запуск сервиса
Сервис newrelic-sysmond после запуска автоматически добавляется в автозагрузку.
Конфиг сервиса
Настраиваем оповещения сервера
После нескольких минут ожидания на вкладке «Servers» должен появиться Ваш сервер. Как только сервер даст отстук, самое время перейти к настройке оповещений.
Далее, на вкладке «Server policies» редактируем политику по-умолчанию, нажав «Edit».
Здесь то нам и нужно включить «Downtime alerts», значение которого изначально выставлено на 5 минут. Оповещение будут приходить в случае, если одно из выставленных значений попадёт под красную зону. Здесь же можно дополнительно выставить уведомления на телефон, помимо стандартного почтового уведомления.
Добавляем сайт
Переходим на вкладку «Synthetics», жмём «Add new».
- Выбираем тип мониторинга «Ping». Другие типы даются триалом на 2 недели, после чего становятся платными.
- В первое поле вписываем предпочитаемое имя мониторинга сайта, во второе сам сайт.
- Выбираем страну, из которой будут поступать пинги на сайт. Можно выбрать хоть все страны, но в этом случае при отказе/возобновлении сайта к Вам на почту будет приходить не одно письмо, а ровно столько, сколько стран вы выберите; т. е. письмо с отказом/возобновлением пинга от каждой страны. Также имеется другой вариант: если выбрать, скажем, 10 стран и поставить интервал на 10 минут, то пинг на сайт будет поступать примерно поочерёдно от каждой страны каждую минуту. Это полезно, если Ваш сайт имеет целевую аудиторию по нескольким странам.
- Собственно, сам интервал проверки доступности сайта.
- И самое главное поле — уведомление на почтовый ящик. Как только мониторинг обнаружит недоступность сайта (остутствие пинга), на эту почту сразу же прилетает уведомление об этом. Ниже кликаем «Create my monitor», после чего сайт сразу же должен появиться в списке на вкладке «Synthetics». Кстати, никаких подтверждений прав на домен не требуется, поэтому можно мониторить не только свои сайты.
Тестируем сайт
Специально для этого случая написал de-site. sh скрипт, с помощью которого можно быстро отключить/включить указанный домен через NGINX.
Для теста отказа отдельных сервисов для сайтов достаточно стопнуть Апач или Мускул (при правильной настройке NewRelic «Synthetics» и ответа вашего сервера на странице ошибки доступа к БД), после чего также последует уведомление о недоступности сайта.