Приложение фризит, ошибки сыпятся, а в логах — тишина? Значит, пора завести мониторинг. В этом материале разбираемся, как подключить систему наблюдения за работой сайта, настроить метрики, алерты и наконец понять, почему всё тормозит — даже если сервер вроде бы не загружен.

Когда сайт начинает вести себя нестабильно, найти причину на глаз — почти невозможно. Особенно если проект работает на VPS, где ресурсов ограничено, а каждая просадка влияет на отклик. Без мониторинга легко упустить из виду, что перегревается база, задыхается бэкенд или фронтенд тормозит из-за третьей стороны. В такие моменты нужны точные данные, а не догадки.
New Relic — платформа мониторинга веб-приложений. Она собирает метрики с серверов, клиентской части, баз данных и отображает их в наглядных дашбордах. Она помогает понять, где зарыта проблема, и реагировать на сбои до того, как пользователи начнут жаловаться.
В статье показали, как подключить New Relic к своему сайту, настроить базовый мониторинг и начать получать ключевые метрики в реальном времени.
Регистрация и начальная настройка New Relic
Начните с аккаунта. Откройте сайт New Relic и нажмите Sign Up. Можно войти по почте, через Google или GitHub, как удобнее. После регистрации выберите бесплатный тариф: для одного проекта его хватит с головой, при этом доступны все ключевые функции.
Сразу после входа система предложит создать организацию — это просто имя для вашего проекта. Введите название, затем укажите, что именно хотите мониторить, например, веб-приложение или сервер. От этого зависит, какие шаги появятся дальше.
После базовой настройки появится license key. Он нужен, чтобы связать ваш сайт с системой. Скопируйте ключ и держите его под рукой.
Теперь выберите язык, на котором написано ваше приложение. Если это Node.js, New Relic покажет команду установки:
npm install newrelic
Далее создаём файл конфигурации. В корне проекта добавьте файл newrelic.js. Пример базовой настройки агента:
'use strict'
exports.config = {
app_name: ['My Website'],
license_key: 'ВАШ_ЛИЦЕНЗИОННЫЙ_КЛЮЧ',
logging: {
level: 'info' // Уровни: 'trace', 'debug', 'info', 'warn', 'error', 'fatal'
},
distributed_tracing: {
enabled: true
}
}
Чтобы агент начал работать, подключите его в основном файле проекта. Просто добавьте первую строку:
require('newrelic');
И всё — запускайте приложение. Через минуту-другую в панели New Relic начнут появляться метрики: сколько времени занимает ответ сервера, есть ли ошибки, какая идёт нагрузка. Всё в реальном времени.
Установка агента мониторинга
Чтобы мониторинг начал работать, нужно поставить агент — это как мост между вашим приложением и панелью New Relic. Он собирает метрики, отслеживает ошибки и передаёт данные в систему. Установка зависит от языка и платформы.
Установка агента для Node.js
Запустите установку агента через npm:
npm install newrelic
После этого создайте в корне проекта файл newrelic.js. В нём указываются настройки: что мониторим, куда отправляем и какой уровень логов сохраняем. Вот базовый шаблон:
'use strict'
exports.config = {
app_name: ['Название вашего приложения'],
license_key: 'ВАШ_ЛИЦЕНЗИОННЫЙ_КЛЮЧ',
logging: {
level: 'info' // Рекомендуемые уровни: 'trace', 'debug', 'info', 'warn', 'error', 'fatal'
},
distributed_tracing: {
enabled: true
}
}
Теперь откройте основной файл вашего проекта, с которого всё запускается, и добавьте в начало:
require('newrelic');
Готово. Как только вы перезапустите приложение, агент начнёт отправлять данные. Вскоре всё появится в интерфейсе: время ответа, ошибки, нагрузка и прочее.
Установка агента для PHP
Для PHP-приложений установка агента зависит от используемой операционной системы. Если у вас Ubuntu или Debian, выполните команды:
sudo apt-get update
sudo apt-get install newrelic-php5
sudo newrelic-install install
Во время установки введите лицензионный ключ. По завершении обязательно перезапустите веб-сервер — без этого агент не начнёт работу.
Если используется CentOS, RHEL, AlmaLinux или Rocky Linux, установите агент через официальный RPM-пакет:
sudo rpm -Uvh https://download.newrelic.com/php_agent/release/newrelic-php5-<версия>.x86_64.rpm
sudo newrelic-install install
На Fedora агент можно попытаться установить с помощью совместимого RPM, но New Relic не гарантирует стабильную работу на последних версиях дистрибутива.
Установка агента для Windows
Здесь всё просто: скачайте установочный файл для вашей версии Windows с официального сайта New Relic. Это MSI-файл, который запускается как обычный установщик. В процессе нужно будет ввести лицензионный ключ, без него агент не подключится к панели.
После установки агента вы увидите живые метрики прямо в интерфейсе New Relic.
Настройка мониторинга производительности
Когда агент New Relic установлен и приложение уже отправляет данные, самое время заняться настройкой мониторинга.
Создание оповещений (Alerts)
Оповещения в New Relic — это способ быстро понять, что с приложением что-то не так. Если метрика выходит за пределы нормы, вы получаете сигнал. Например, когда резко увеличивается время отклика или падает количество успешных запросов.
Чтобы настроить оповещения, откройте в интерфейсе New Relic раздел Alerts & AI. Вкладка Alert policies отвечает за создание новых политик. Нажмите на кнопку добавления и дайте политике понятное имя, например, «Оповещения для веб-приложения».
Затем добавьте условие. Здесь важно выбрать тип: APM подойдёт для стандартных метрик вроде времени ответа и частоты ошибок. Если хотите задать логику вручную, используйте NRQL. Он позволяет строить запросы с фильтрами и агрегатами.
Настройка сводится к выбору метрики, указанию порогового значения и продолжительности, по истечении которой должно сработать оповещение. Например, если время ответа превышает одну секунду в течение пяти минут, система подаст сигнал.
Перед сохранением правила можно посмотреть, как оно бы сработало в прошлом. Это помогает избежать лишних уведомлений и подстроить параметры под реальные данные.
Оповещения отправляются на почту, в PagerDuty и другие сервисы — это задаётся в разделе Notification channels.
Настройка дашбордов
Чтобы не тратить время на поиск метрик вручную, удобно собрать дашборд. Он показывает всё важное на одном экране: где просадка, где ошибки, где система держится стабильно.
Зайдите в раздел Dashboards и нажмите кнопку создания. Укажите название и выберите, к какому аккаунту он будет привязан.
После этого можно добавить виджеты. Каждый виджет — это отдельный элемент визуализации. Выбирайте, что нужно: график для времени отклика, таблицу для детальных значений, текстовый блок для комментариев. Настроить их можно через конструктор запросов. Там вы сможете выбрать данные, метрику и диапазон времени. Если нужен полный контроль, используйте NRQL и задайте запрос вручную.
Например, чтобы увидеть среднее время ответа по конкретному эндпоинту за последние полчаса, используйте такой запрос:
SELECT average(duration) FROM Transaction WHERE name = 'WebTransaction/YourEndpoint' SINCE 30 minutes ago
Виджеты можно перемещать и группировать. Отдельно вывести ошибки, трафик, поведение базы. Когда всё готово, нажмите кнопку сохранения. Дашборд появится в списке, и вы сможете использовать его каждый день как основную панель наблюдения.
Использование NRQL для продвинутого анализа
Если стандартных метрик не хватает, можно использовать NRQL — это язык запросов, с помощью которого можно точно вытаскивать нужные данные из мониторинга.
Вот пример. Если нужно узнать среднее время отклика по определённому эндпоинту за последний час, используйте запрос:
SELECT average(duration) FROM Transaction WHERE name = 'WebTransaction/YourEndpoint' SINCE 1 hour ago
Замените 'WebTransaction/YourEndpoint' на нужный путь, например, /api/login или /checkout.
А если важно отследить процент ошибок за последнее время, подойдёт такой запрос:
SELECT percentage(count(*), WHERE error IS true) FROM Transaction SINCE 30 minutes ago
NRQL позволяет строить собственные графики, настраивать условия оповещений и фильтровать данные по любым признакам. Можно посмотреть статистику по конкретному пользователю, региону, версии приложения или любому другому параметру, который собирается в метриках.
Интеграция с другими сервисами
Для более глубокой диагностики New Relic можно связать с другими системами. Это полезно, если вы уже используете другие инструменты в своей инфраструктуре.
Вот что часто подключают:
- PagerDuty, чтобы не пропускать важные оповещения,
- Loggly или другие системы логирования, чтобы сразу видеть, какие ошибки происходили в момент сбоя,
- Grafana, если у вас уже есть общая панель мониторинга, можно просто вывести метрики New Relic туда.
Интеграции настраиваются в разделе Integrations. Всё пошагово: выбор сервиса, добавление токенов, конфигурация.
Серверы AdminVPS стабильно держат нагрузку при тестировании через New Relic, поэтому метрики отражают реальную картину без искажений от сбоя самой инфраструктуры.
После всей этой настройки у вас будет не просто сбор данных, а полноценная система наблюдения. Вы сможете видеть, как приложение себя чувствует, отслеживать тревожные сигналы и реагировать до того, как пользователи начнут жаловаться.
Анализ и оптимизация на основе собранных данных
Стабильно высокое время отклика по одному маршруту становится повод заглянуть в детали. Проверьте, нет ли тяжёлого SQL-запроса, лишней логики или задержек на внешнем API. Такие вещи быстро забивают узкие места и тормозят приложение.
Повторяющиеся ошибки тоже говорят о проблемах. В панели видно, с чем они связаны. Даже редкая ошибка может сбить логику или повлиять на пользователей.
Резкие скачки нагрузки на процессор или память часто остаются незаметными. Но именно они могут быть причиной нестабильной работы, особенно в час пик или после запуска тяжёлых процессов.
Динамика показывает больше, чем разовые значения. Если после релиза выросло время отклика или участились ошибки, лучше откатить и посмотреть, что именно изменилось.
Заключение
Мониторинг вселяет уверенность в том, что всё под контролем. Он помогает не просто фиксировать ошибки, а понимать, почему они произошли и что делать дальше. New Relic предоставляет понятные инструменты для отслеживания метрик, визуализации и оперативной реакции.
Читайте в блоге:
- Как настроить мониторинг сервера: метрики и методы
- Оптимизация производительности MySQL на сервере CentOS
- Как открыть и закрыть порты в Ubuntu 22.04 и защитить систему от угроз