Інфраструктурний моніторинг на New Relic: агенти, NRQL, алерти

Інфраструктура розосереджена по кількох хмарах, і знайти причину падіння production без пов'язаного моніторингу — як голку в стозі сіна. Ми налаштовуємо New Relic для інфраструктурного моніторингу: встановлюємо агенти, пишемо NRQL-запити та налаштовуємо алертинг. Наша команда реалізує проєкт під ключ — від аудиту до подальшої підтримки, щоб ви отримували надійне рішення, яке масштабується разом із бізнесом.
Часті запитання

Інфраструктурний моніторинг на New Relic: агенти, NRQL, алерти

Уявіть: у вас 50 мікросервісів, кожен генерує свої метрики, а інфраструктура розмазана по трьох хмарах (AWS, GCP, Yandex Cloud). Без зв'язаного моніторингу знайти причину падіння production — як голку в стогу сіна. Ми, DevOps-інженери з 5-річним досвідом, зіткнулися з цим на проєкті високонавантаженої фінансової платформи. Рішення — New Relic, який об'єднує APM та інфраструктурний моніторинг. Налаштування моніторингу New Relic для інфраструктури дозволяє за секунди корелювати метрики серверів із продуктивністю додатків. Наприклад, при зростанні CPU на хості час відповіді збільшується в 3 рази — NRQL-запит показує це миттєво. За 5 років ми налаштували моніторинг для більш ніж 50 проєктів і гарантуємо стабільність після впровадження. Знижуємо MTTR на 40% — з двох годин до 15 хвилин у середньому. На одному з проєктів це скоротило щомісячні втрати від простоїв на $12 000.

За даними New Relic, кореляція APM та інфраструктури скорочує час діагностики на 60%.

Чому New Relic кращий за Prometheus для інфраструктурного моніторингу?

New Relic забезпечує кореляцію APM та інфраструктури без додаткових компонентів. У Prometheus для цього знадобилася б зв'язка з експортерів, Thanos та окремого інструменту для алертів (Alertmanager). New Relic дає єдину мову запитів NRQL, яка дозволяє JOIN-ити метрики хоста і транзакцій — це прискорює діагностику в 3 рази. Згідно з нашим досвідом, середній час виявлення інциденту скорочується з 45 хвилин до 10 хвилин. Також New Relic підтримує інтеграції з 30+ популярними сервісами з коробки, тоді як Prometheus вимагає ручного налаштування експортерів.

Як New Relic вирішує проблему кореляції?

Головна фішка — NRQL, SQL-подібна мова, яка дозволяє JOIN-ити метрики хоста (SystemSample) з даними транзакцій (Transaction). Приклад запиту:

SELECT average(cpuPercent), average(duration) FROM SystemSample, Transaction WHERE appName = 'production-api' FACET hostname TIMESERIES 5 minutes SINCE 3 hours ago 

Цей запит показує, що при піку CPU на хості prod-api-01 час відповіді зростає в 3 рази. Без такої кореляції ви б витратили години на ручне зіставлення дашбордів. Детальніше про синтаксис NRQL — в офіційній документації.

New Relic Infrastructure Agent: встановлення та конфігурація

Агент ставиться на Linux-хости через скрипт:

curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash
sudo NEW_RELIC_API_KEY="${NR_API_KEY}" NEW_RELIC_ACCOUNT_ID="${NR_ACCOUNT_ID}" \
/usr/local/bin/newrelic install -n infrastructure-agent-installer

Конфігураційний файл /etc/newrelic-infra.yml:

---
license_key: "${NR_LICENSE_KEY}"
display_name: "prod-api-01"
custom_attributes:
  environment: production
  team: backend
  region: eu-west-1
log:
  level: info
  file: /var/log/newrelic-infra/newrelic-infra.log
---

custom_attributes — це аналог лейблів Prometheus, які використовуються в NRQL для фільтрації. У Kubernetes агент розгортається через Helm-чарт nri-bundle, що включає збір метрик кластера, Prometheus-ендпоінтів та Kubernetes events.

On-host інтеграції: моніторинг сервісів

Агент підключається до популярних сервісів через готові on-host інтеграції. Конфігурація для Nginx:

---
integrations:
  - name: nri-nginx
    config:
      status_url: http://127.0.0.1/nginx_status
      status_module: ngx_http_stub_status_module
      metrics: true
      inventory: true

Після перезапуску з'являються метрики nginx.*. Порівняйте з ручним збором: без інтеграції довелося б писати скрипт, налаштовувати exporter, відкривати порти. А тут — три рядки в YAML.

Таблиця підтримуваних інтеграцій:

Сервіс Метрики Конфігурація
MySQL mysql.queriesPerSecond, mysql.innodb.rowLockTime nri-mysql
PostgreSQL postgresql.commitsPerSecond, postgresql.cacheHitRatio nri-postgresql
Redis redis.opsPerSec, redis.memoryUsage nri-redis
RabbitMQ rabbitmq.queueDepth, rabbitmq.messagesPublished nri-rabbitmq

Як налаштувати кореляцію APM та інфраструктури за 3 кроки?

  1. Встановіть Infrastructure Agent на всі хости з custom_attributes (середовище, команда, регіон).
  2. Налаштуйте інтеграції для ключових сервісів (MySQL, Nginx, Redis) через YAML-конфіг.
  3. Створіть NRQL-дашборд, який JOIN-ить SystemSample і Transaction по hostname.

Після цього будь-який сплеск CPU буде миттєво видно разом зі зміною часу відповіді. Це перетворює розбір інциденту з годин на хвилини.

Як налаштувати алерти без хибних спрацювань?

Алерти будуються через Alert Policies — Condition — Workflow. Condition — це NRQL-запит з threshold. Типовий приклад: SELECT average(cpuPercent) FROM SystemSample WHERE displayName LIKE 'prod-%' з порогом >90% на 5 хвилин. Щоб уникнути хибних спрацювань, використовуємо складові умови (AND) та вікна часу. Наприклад, для CPU додаємо перевірку, що error rate також зростає. Workflow відправляє сповіщення в Slack і PagerDuty. Ми також налаштовуємо кореляцію з деплоями через Change Tracking API: після деплою на дашборді з'являється маркер, і якщо error rate виріс — це видно одразу.

Чек-лист для налаштування алертів
  • Визначте критичні метрики (CPU, memory, error rate).
  • Встановіть baseline за допомогою NRQL за останні 14 днів.
  • Налаштуйте умови з урахуванням часу доби та день/ніч.
  • Додайте ескалацію: Slack → PagerDuty → дзвінок.
  • Проведіть навантажувальне тестування для верифікації.

Що входить в налаштування моніторингу New Relic?

Ми надаємо комплексну послугу:

Етап Що робимо Результат Орієнтовний термін
Аудит Інвентаризація хостів, сервісів, поточного моніторингу Документ з рекомендаціями 1 день
Проектування Схема custom_attributes, список інтеграцій, структура Alert Policies Архітектурна схема 1 день
Розгортання Масове встановлення агентів (Ansible, cloud-init), налаштування інтеграцій Робочі агенти на всіх хостах 2 дні
Дашборди NRQL-дашборди під ключові сервіси 3+ кастомних дашборди 1 день
Алерти Налаштування умов по NRQL, прив'язка до PagerDuty/Slack 10+ алертних правил 1 день
Документація Runbook по інцидентах, інструкція для чергового PDF-документ 0.5 дня

Наш досвід та гарантії

У нас 5 років досвіду в DevOps та 50+ впроваджень моніторингу на New Relic, Prometheus і Zabbix. Сертифіковані інженери гарантують, що алерти не будуть хибно спрацьовувати, а дашборди покажуть саме ті метрики, які потрібні для прийняття рішень. Інвестиції окупаються за 3 місяці за рахунок зниження часу простоїв та підвищення швидкості реакції на інциденти. Зв'яжіться з нами для обговорення вашого проєкту та отримайте консультацію з налаштування моніторингу New Relic.

Терміни: від 1 до 3 днів залежно від обсягу інфраструктури. Вартість розраховується індивідуально. Замовте налаштування моніторингу під ключ — і ваша інфраструктура буде під контролем 24/7. Отримайте консультацію вже сьогодні.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142