Налаштування моніторингу інфраструктури через Datadog

Відмову помічають за дзвінками клієнтів, а не за метриками — так втрачаються години й репутація. Ми налаштовуємо Datadog-моніторинг під ключ: підключаємо джерела телеметрії, налаштовуємо оповіщення та панелі під ваші сценарії. Команда бачить стан сервісів в одному вікні, а час виявлення відмов скорочується в рази.
Часті запитання

Datadog моніторинг: де інфраструктура втрачає спостережуваність

Розгорнута інфраструктура рідко буває «німою» повністю: метрики з частини вузлів надходять, панелі малюються, сповіщення приходять. Проблема в іншому — покриття нерівномірне, і Datadog моніторинг інфраструктури показує лише той контур, куди дійшли агенти.

За його межами залишаються сервіси, підняті поза загальним шаблоном: контейнери без міток сервісу й середовища, черги, якими користується одна команда, зовнішні залежності без активних перевірок доступності.

Друга сліпа зона спостережуваності — розрізнені логи. Частина сервісів пише в стандартний потік, частина — у файли всередині контейнера, частина йде у власний збирач.

Спільної мітки бракує, тому запис не можна пов'язати з конкретним запитом або версією релізу, і пошук причини збою перетворюється на ручний обхід кількох сховищ замість одного фільтра.

Третє вузьке місце — пороги сповіщень. Правило, побудоване на середньому значенні за довге вікно, згладжує сплеск: пізнє виявлення відмов стає нормою, і черговий дізнається про проблему зі звернень підтримки, а не із системи. Сповіщення приходить по факту, коли користувачі вже помітили деградацію.

Ціна такої конфігурації вимірюється не обсягом телеметрії, а часом від першого збою до його підтвердження.

Вузьке місце збору телеметрії — не пропускна здатність, а узгодженість: єдині правила іменування, наскрізне маркування запитів, пороги, прив'язані до користувацького шляху, а не до окремого вузла.

Далі розбираємо, як це закривається — від інвентаризації джерел до правил, які спрацьовують раніше за звернення.

Що дає керована спостережуваність: ефект у вимірюваних метриках

Моніторинг вважають успішним не за кількістю панелей, а за чотирма величинами: час виявлення відмови, час локалізації, час відновлення сервісу й тривалість простою. До впровадження відмову зазвичай знаходить користувач, а черговий дізнається про неї з чату підтримки.

Після — відхилення від звичного профілю метрики піднімає сповіщення за секунди, і питання звучить уже не «працює чи впало», а «сервіс відповідає повільніше за звичайне на конкретній ділянці шляху запиту».

Єдина картина стану сервісів прибирає найдорожчий етап — пошук винуватця. У Datadog метрики, логи й трасування пов'язані спільними мітками, тому від графіка деградації переходять до конкретного запиту, вузла або релізу без ручного зіставлення за часом. Локалізація стискається з годин на узгодження між командами до хвилин у межах однієї панелі.

Час відновлення визначається не швидкістю реакції, а готовністю сценарію.

Автоматичне відкочування на попередню версію за заздалегідь заданою ознакою, перевірка залежностей і зрозуміла послідовність дій чергового дають повернення в роботу за хвилини замість спроб зрозуміти, що саме зламалося. Тривалість простою перестає залежати від того, хто сьогодні на чергуванні.

Окремий результат — усунений клас повторюваних збоїв. Сповіщення, яке не можна закрити без зазначення причини, і розбір після інциденту перетворюють кожну відмову на правку конфігурації або на перевірку на етапі випуску.

Через кілька тижнів частка хибних спрацювань падає, а частина відмов не доходить до користувача взагалі.

Способи збору телеметрії: агенти, інтеграції та зовнішні експортери

Вибір способу збору — не «або/або»: агент на вузлі, інтеграція з хмарним сервісом і власний збирач закривають різні шари однієї системи. Якщо тягнути все через один канал, метрики керованих сервісів не доїдуть узагалі, а агент на хості стане вузьким місцем за навантаженням. Саме тому режими майже завжди комбінують.

Datadog приймає телеметрію всіма трьома каналами одночасно, тож питання не в сумісності, а в тому, який режим дає потрібну деталізацію за розумної вартості супроводу.

Розподіл зазвичай такий: агент відповідає за ресурси вузла, інтеграція — за керовані сервіси, власний збирач — за прикладні лічильники й закриті контури.

Варіант Коли підходить Обмеження
Агент на вузлі Віртуальні машини, контейнерні платформи, усе, де є доступ до операційної системи Потрібні права й оновлення на кожному вузлі; у безсерверному середовищі незастосовний
Інтеграція з хмарним сервісом Керовані бази, черги, балансувальники — метрики забираються через API провайдера Затримка вивантаження, частина внутрішніх лічильників недоступна, потрібні права на читання
Власний збирач даних Застосунки з нестандартними лічильниками, ізольовані контури, власні формати метрик Супровід на нашій стороні, потрібно самим стежити за дублюванням і розміткою

Перед підключенням фіксуємо єдину схему тегів і правила іменування — інакше метрики з різних каналів не звести в один дашборд. Далі перевіряємо, що кожне джерело віддає дані передбачувано, і лише потім розширюємо охоплення.

Порядок впровадження Datadog моніторингу: від аудиту до передачі

Впровадження Datadog іде етапами, і кожен закінчується артефактом, який можна перевірити. Порядок принциповий: спочатку зрозуміти, що система вже віддає, і лише потім вмикати збір — інакше агенти ставляться наосліп, а правила сповіщень починають шуміти на незрозумілих порогах.

  1. Аудит спостережуваності. Інвентаризуємо сервіси, середовища й те, які метрики, логи та трасування вони вже віддають. Результат — карта прогалин: де даних немає і де вони є, але ніким не читаються.
  2. Схема збору даних. Обираємо спосіб доставки: агент на хостах, приймання телеметрії із застосунків, інтеграції з хмарою й балансувальниками. Фіксуємо теги та правила іменування, інакше метрики різних команд не зводяться на одній панелі.
  3. Панелі та цільові рівні. Збираємо подання за сервісами: затримка, частка помилок, насичення ресурсів, доступність. Цільові рівні задаємо від того, що важливо користувачеві, а не від зручності наявних метрик.
  4. Налаштування правил сповіщень. Сигнали прив'язуємо до симптомів для користувача, а не до кожної метрики. Налаштовуємо групування, вікна й придушення повторів, щоб черговий отримував один сигнал на інцидент.
  5. Перевірка сценаріїв відмови. Навмисно ламаємо стенд: гасимо вузол, додаємо затримку, валимо залежність. Дивимося, чи спрацював сигнал, чи дійшов до чергового і чи вистачило даних для діагностики.
  6. Передача експлуатації. Віддаємо регламент чергувань, інструкції з типових інцидентів і доступи. Проводимо розбір із командою — після нього моніторинг живе й розвивається без нас.

Що залишається в інфраструктурі: панелі, сповіщення, регламенти

Передаємо не «доступ в особистий кабінет», а робочий контур моніторингу: набір конфігурацій, панелей і правил, за якими черговий інженер розуміє стан системи без дзвінків розробникам. Нижче — комплект, який фіксується в акті приймання-передачі й залишається у вашої команди.

  • Конфігурації збору: агент на вузлах і сервісах, інтеграції з базами й чергами, правила розмітки — метрики складаються в єдину модель, а не в розрізнені групи.
  • Панелі графіків у Datadog: оглядова панель за сервісом і окремі за вузлами — час відповіді, частка помилок, насичення ресурсів, стан фонових завдань.
  • Правила сповіщень: пороги та вікна усереднення, розподіл на «будить уночі» й «розбираємо в робочі години», придушення дублів під час масового збою.
  • Політики доступу: ролі та групи, хто змінює правила й панелі, хто лише дивиться, журнал змін і термін зберігання даних.
  • Регламент чергування: графік, порядок ескалації, терміни реакції на різні класи сповіщень і точки, де підключається розробка.
  • Комплект документації: схема збору, що навмисно не моніторимо й чому, обґрунтування порогів, порядок підключення нового сервісу.
  • Порядок змін: де зберігаються конфігурації, як правляться правила й як відкотитися до попередньої версії, якщо нова дає шум.

Кожен пункт перевіряємо на прийманні: запускаємо навчальне сповіщення, знімаємо вузол з балансування й дивимося, чи спрацював потрібний маршрут. Список закрито, коли ваша команда сама вносить правку в правило й бачить результат без нашої допомоги.

Кейс: як скоротили час виявлення відмов

Як було до

Моніторинг збирався з різнорідних джерел: агенти на частині хостів, скрипти опитування, ручні вивантаження в таблиці. Повідомлення йшли в загальний потік без прив'язки до сервісу й власника, тому про відмову черговий дізнавався від користувачів частіше, ніж від системи.

Час до виявлення тримався в коридорі 25–40 хвилин, а на розборі ми впиралися в одне: незрозуміло, у який момент метрика поїхала і що змінювалося перед цим.

Що робили

Почали з інвентаризації — звели сервіси, хости й залежності в єдиний каталог і вже на його основі розгорнули збір метрик, логів і трасувань у Datadog.

Далі відмовилися від одного порога на все: правила прив'язали до доступності й затримки конкретного сервісу, а шумні перевірки, що спрацьовували частіше, ніж відбувалися інциденти, переписали або вимкнули. До кожного сигналу додали власника, посилання на графіки й порядок дій на перші хвилини.

Що змінилося в цифрах

Час до виявлення впав з 25–40 хвилин до 3–5: сплеск помилок і деградацію затримки видно до того, як їх помітять клієнти. Частка хибних спрацювань знизилася з приблизно 70% до 12%, нічні підйоми через шум майже припинилися.

Окремо закрився клас відмов, який раніше не ловили взагалі: поступова деградація під навантаженням без падіння сервісу — за ланцюжком викликів одразу видно, яка ланка почала гальмувати.

Частина часу пішла не на дашборди, а на розмітку сервісів і власників: без неї будь-яка система спостережуваності перетворюється на звалище графіків.

Що робити, якщо метрики вже надходять до іншої системи?

Метрики вже збираються іншою системою, і перемикати все одразу — означає осліпнути на час міграції та втратити історію за минулі періоди. Тому перенесення збору метрик роблять не заміною, а паралельним запуском: старий приймач продовжує отримувати дані, поруч піднімається другий.

Технічно це виглядає так: на хостах і в кластерах агент або надсилає показники в два приймачі, або поруч ставиться другий агент, який читає ті самі джерела.

Набори метрик і правила іменування приводять до одного вигляду один раз — інакше два потоки дадуть непорівнянні ряди, і порівняти їх буде нічим.

Дублювання витрачає частину ресурсів на надсилання, зате знімає головний ризик: у момент зрізу жодна панель спостереження й жодне правило сповіщення не зникають.

Далі починається поступовий перехід. Спочатку в Datadog переносять панелі й сповіщення за некритичними сервісами та звіряють показання зі старою системою: значення мають сходитися, а затримка надходження — не зростати.

Коли розбіжності вкладаються в похибку, на новий контур переводять критичні сервіси, а старий залишається в режимі читання.

Історія за такого підходу не переноситься фізично — до архіву старої системи зберігають доступ на весь термін зберігання, а нові дані пишуться вже в новий контур.

Відмовлятися від попередньої схеми можна, коли жодна панель і жодне сповіщення не читається з неї, агенти стоять на всіх хостах, а звірка розбіжностей стабільно проходить. На підстраховку зазвичай залишають кілька місяців, після чого зайві приймачі вимикають.

Сумніви щодо доступів, обсягу даних і термінів

Перед стартом майже завжди виринає той самий набір сумнівів: які права отримує підрядник, чи не виросте сховище телеметрії в рази, скільки часу займе впровадження і що доведеться робити команді замовника. Нижче — короткі відповіді, щоб зняти їх до обговорення плану.

Розмежування доступів проєктуємо заздалегідь: адміністраторські права на робочий контур не потрібні, достатньо окремого інтеграційного ключа з обмеженим набором прав і читання стану інфраструктури.

Які доступи ви запитуєте і як їх обмежуєте?

Доступ видаємо сервісному акаунту, а не людині, і лише на читання інфраструктурних метрик. Ключ агента Datadog уміє тільки записувати телеметрію, секрети живуть у захищеному сховищі, а не в репозиторії, і відкликаються однією командою.

Наскільки виросте обсяг даних, що зберігаються?

Правила зберігання тримають детальні метрики обмежений термін і далі агрегують їх, логи фільтруються й обрізаються за полями, шумні джерела вимикаємо ще під час підключення. Обсяг стає передбачуваним.

Скільки займає впровадження?

Пілотний контур піднімаємо за лічені дні, повне покриття займає тижні. Ідемо хвилями: спочатку агенти й базові метрики, потім дашборди й алерти, — кожну хвилю можна зупинити без втрати вже зібраного.

Що потрібно від нашої команди?

Один інженер, який знає інфраструктуру й підтверджує правки в конфігурації, доступ до хмарної панелі та репозиторіїв, узгоджене вікно на зміни. Підключення, дашборди, алерти й документацію беремо на себе.

Обговоримо задачу: що потрібно для старту робіт

Щоб обговорити задачу предметно, не потрібен повний доступ до промислових середовищ і готове технічне завдання. Достатньо описати, що вже розгорнуто й які питання до спостережуваності треба закрити — це визначає архітектуру збору метрик, логів і трейсів. Нижче мінімальний набір, після якого ми повертаємося з оцінкою та планом робіт.

  • Перелік сервісів і середовищ: що моніторимо зараз і де залишаються «сліпі зони» — контейнери, віртуальні машини, бази, балансувальники, черги.
  • Схема контуру: як сервіси спілкуються між собою і які зовнішні залежності критичні для доступності.
  • Спосіб встановлення агента й обмеження мережі: закриті сегменти, проксі, вихідні з'єднання — від цього залежить доставка даних у Datadog.
  • Доступи й ролі: ключі лише на приймання даних, окремий користувач для налаштування панелей і правил сповіщення, хто підтверджує зміни з боку замовника.
  • Поточні джерела сигналів: як збираються метрики й логи, як організовано чергування, де виставлено пороги спрацювання.
  • Критичні сценарії: сервіси, простій яких неприпустимий, і допустимий час реакції на збій — із цього збираємо пороги та ескалацію.
  • Точка контакту: інженер, який знає інфраструктуру й підтверджує доступи. З ним узгоджуємо склад команди й графік старту впровадження.

Далі — оцінка та план робіт: етапи, хто з наших інженерів що закриває і що знадобиться від вашої сторони на кожному кроці. Попередніх умов для старту немає: пишіть, що вже зроблено і що болить, — повернемося з планом.

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

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

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