Almost Over

Мониторинг серверов и сайтов с New Relic

Мониторинг серверов и сайтов с New Relic

Долго же я откладывал мониторингов сайтов на потом, и вот настало это потом. Это, конечно, не проблема следить за сайтами, когда их у тебя пару штук. А когда их кол-во становится > 5 и при неожиданном падении какого-либо из них, нас уведомляет Яндекс-Директ спустя, эдак, 12 или более часов, начинаешь задумываться над действительно быстрым и профессиональным мониторингом.

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

И я нашел такой сервис — newrelic.com

Возможности New Relic

  • Бесплатно и без весомых ограничений.
  • Мониторинг как серверов, так и сайтов.
  • Веб интерфейс + приложения на смартфонах.
  • E-Mail уведомления через минуту при каком-либо сбое.
  • Лёгкая и быстрая установка. Все инструкции расположены на самом сайте.

Как видно, есть всё необходимое для полноценного мониторинга сайтов и серверов, и то это не все возможности данного сервиса. Собственно, под большинство требований Web-мастеров он подходит как никогда кстати, поэтому смело можно регистрироваться. При регистрации спросят номер сотового, и если Вы не планируете получать смс-уведомления о критических сбоях, то можно ввести рандомный номер (никакого смс-подтверждения/активации номера не будет, только активация по почте).


Добавляем сервер

После регистрации переходим на вкладку «Servers», выбираем ось Вашего сервера (в моём случае это Red Hat or CentOS) и следуем инструкции по установке.
Инструкция установки сервиса New Relic

Подключение репозитория

$ rpm -Uvh https://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm

Установка сервиса

$ yum install newrelic-sysmond

Добавление ключа в конфиг

$ nrsysmond-config --set license_key=%your_key%

Запуск сервиса

$ /etc/init.d/newrelic-sysmond start

Сервис newrelic-sysmond после запуска автоматически добавляется в автозагрузку.

Конфиг сервиса

$ nano /etc/newrelic/nrsysmond.cfg

Лог сервиса

$ tail -f /var/log/newrelic/nrsysmond.log

Настраиваем оповещения сервера

После нескольких минут ожидания на вкладке «Servers» должен появиться Ваш сервер. Как только сервер даст отстук, самое время перейти к настройке оповещений.
Список серверов New Relic

Далее, на вкладке «Server policies» редактируем политику по-умолчанию, нажав «Edit».
Редактирование политик сервера

Здесь то нам и нужно включить «Downtime alerts», значение которого изначально выставлено на 5 минут. Оповещение будут приходить в случае, если одно из выставленных значений попадёт под красную зону. Здесь же можно дополнительно выставить уведомления на телефон, помимо стандартного почтового уведомления.
Включаем уведомления при перегреве/лимите ресурсов сервера


Добавляем сайт

Переходим на вкладку «Synthetics», жмём «Add new».
Список сайтов New Relic Synthetics
Далее по пунктам на скринах:

  1. Выбираем тип мониторинга «Ping». Другие типы даются триалом на 2 недели, после чего становятся платными.
  2. В первое поле вписываем предпочитаемое имя мониторинга сайта, во второе сам сайт. Добавление сайта в New Relic Synthetics 1-2
  3. Выбираем страну, из которой будут поступать пинги на сайт. Можно выбрать хоть все страны, но в этом случае при отказе/возобновлении сайта к Вам на почту будет приходить не одно письмо, а ровно столько, сколько стран вы выберите; т.е. письмо с отказом/возобновлением пинга от каждой страны. Также имеется другой вариант: если выбрать, скажем, 10 стран и поставить интервал на 10 минут, то пинг на сайт будет поступать примерно поочерёдно от каждой страны каждую минуту. Это полезно, если Ваш сайт имеет целевую аудиторию по нескольким странам.
  4. Собственно, сам интервал проверки доступности сайта.
  5. И самое главное поле — уведомление на почтовый ящик. Как только мониторинг обнаружит недоступность сайта (остутствие пинга), на эту почту сразу же прилетает уведомление об этом.Добавление сайта в New Relic Synthetics 3-5 Ниже кликаем «Create my monitor», после чего сайт сразу же должен появиться в списке на вкладке «Synthetics». Кстати, никаких подтверждений прав на домен не требуется, поэтому можно мониторить не только свои сайты. smirk

Тестируем сайт

Специально для этого случая написал de-site.sh скрипт, с помощью которого можно быстро отключить/включить указанный домен через NGINX.
Для теста отказа отдельных сервисов для сайтов достаточно стопнуть Апач или Мускул (при правильной настройке NewRelic «Synthetics» и ответа вашего сервера на странице ошибки доступа к БД), после чего также последует уведомление о недоступности сайта.