Інфраструктурний моніторинг на 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 кроки?
- Встановіть Infrastructure Agent на всі хости з custom_attributes (середовище, команда, регіон).
- Налаштуйте інтеграції для ключових сервісів (MySQL, Nginx, Redis) через YAML-конфіг.
- Створіть 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. Отримайте консультацію вже сьогодні.







