Шлях 05Урок 4 / 8

Спостерігайте за сервісом і його користувачами

Пов’яжіть метрики, журнали та трасування з цілями сервісу. Спроєктуйте сповіщення, межі даних і перевірки відсутньої телеметрії.

Практика11 хвПереглянуто

Видавець Як ми пишемо

Перевірте своє розумінняЗатримка експорту зростає. Вибіркові трасування показують повільні spans бази даних. Який висновок можна зробити?Виконайте вправу
Затримка експорту зростає. Вибіркові трасування показують повільні spans бази даних. Який висновок можна зробити?

Чого ви навчитеся

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

Почніть із питання

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

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

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

Поєднайте різні форми доказів

Метрика вимірює величину в часі. Журнал записує подію. Трасування пов’язує відповідні операції, коли запит проходить системою. Span представляє одну операцію в трасуванні.

Операційне питанняПриклад доказівЯке обмеження пам’ятати
Скільки дозволених експортів завершуються невдало?Кількість збоїв і кількість запитів, які мають право на виконанняНеправильний знаменник дає оманливу частку
Що сталося з одним експортом?Структурований журнал з ID задачі, результатом і версієюВідсутні події залишають прогалини
На що витрачено час?Трасування через API, чергу, процес-обробник і базу данихВибірка та порушена передача контексту можуть приховати роботу
Що змінилося перед симптомом?Записи розгортання та конфігураціїСам часовий збіг не встановлює причини

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

Сповіщайте, коли потрібна дія

Визначте SLI та його знаменник до встановлення SLO. У прикладі підраховуйте дозволені експорти, правильно завершені за узгоджену тривалість. Визначте, як у вимірювання входять тривалі та покинуті задачі.

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

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

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

Захистіть pipeline телеметрії

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

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

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

Дослідіть конкретний збій

Вигаданий сервіс повідомляє HTTP 202 для кожного запиту. Час перебування задач у черзі зростає із секунд до 15 хвилин. Журнали процесу-обробника показують повторювані тайм-аути бази даних. Вибіркові трасування відносять більшість часу процесу-обробника до викликів бази даних.

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

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

Виконайте вправу

Для вигаданого експорту з цього уроку визначте один SLI, одне сповіщення, що потребує дії, три дозволені поля телеметрії та два заборонені. Зазначте, як виявите несправний pipeline телеметрії.

Завантажити робочий аркуш (Markdown)
Перевірте своє розуміння ↑

Продовжити навчання

Джерела та додаткові матеріали

Матеріали Taiga за темою

← Попередній урок: Постійно знаходьте та виправляйте вразливості