Спостерігайте за сервісом і його користувачами
ЗавершеноПов’яжіть метрики, журнали та трасування з цілями сервісу. Спроєктуйте сповіщення, межі даних і перевірки відсутньої телеметрії.
Видавець TaigaЯк ми пишемо
Перевірте своє розумінняЗатримка експорту зростає. Вибіркові трасування показують повільні spans бази даних. Який висновок можна зробити?Виконайте вправу
Чого ви навчитеся
- Вибирати телеметрію, що відповідає на конкретне операційне питання.
- Відрізняти симптом сервісу від внутрішньої причини.
- Захищати телеметрію та виявляти відсутні чи застарілі докази.
Почніть із питання
Моніторинг перевіряє відомі умови. Спостережуваність допомагає досліджувати поведінку системи, включно зі збоями, яких ви не передбачили. Більше панелей не дає автоматично кращих відповідей.
Для вигаданого сервісу експорту почніть із питання користувача: чи може авторизований користувач отримати правильний експорт за узгоджений час? Потім виберіть сигнали, що допомагають відповісти на це питання та пояснити збої.
OpenTelemetry надає інструментування та стандарти телеметрії. Він може надсилати сигнали до сумісних систем обробки. Вам усе ще потрібні сховище, запити, контроль доступу, строки зберігання та люди, які діють на основі доказів. Основи спостережуваності.
Поєднайте різні форми доказів
Метрика вимірює величину в часі. Журнал записує подію. Трасування пов’язує відповідні операції, коли запит проходить системою. Span представляє одну операцію в трасуванні.
| Операційне питання | Приклад доказів | Яке обмеження пам’ятати |
|---|---|---|
| Скільки дозволених експортів завершуються невдало? | Кількість збоїв і кількість запитів, які мають право на виконання | Неправильний знаменник дає оманливу частку |
| Що сталося з одним експортом? | Структурований журнал з ID задачі, результатом і версією | Відсутні події залишають прогалини |
| На що витрачено час? | Трасування через API, чергу, процес-обробник і базу даних | Вибірка та порушена передача контексту можуть приховати роботу |
| Що змінилося перед симптомом? | Записи розгортання та конфігурації | Сам часовий збіг не встановлює причини |
Для асинхронної роботи зберігайте безпечний зв’язок між надісланою задачею та виконанням процесу-обробника. Відповідь HTTP 202 може означати, що роботу прийнято. Вона не доводить, що експорт завершився.
Сповіщайте, коли потрібна дія
Визначте SLI та його знаменник до встановлення SLO. У прикладі підраховуйте дозволені експорти, правильно завершені за узгоджену тривалість. Визначте, як у вимірювання входять тривалі та покинуті задачі.
Бюджет помилок описує допустиму кількість збоїв у вікні SLO. Швидкість його витрачання описує, як швидко збої споживають цей бюджет. Рекомендації Google використовують кілька часових вікон для балансу між своєчасним виявленням і шумом сповіщень. Сповіщення на основі SLO.
Викликайте чергового, коли умова потребує своєчасної дії. Менш термінову роботу надсилайте до черги. Кожне сповіщення потребує відповідального, опису впливу, посилання для розслідування та інструкції реагування. Переглядайте сповіщення, які постійно не приводять до дій.
Не використовуйте один загальний поріг для кожного сервісу. На рішення впливають наслідки для користувачів, трафік, робочі години та спроможність реагування.
Захистіть pipeline телеметрії
Телеметрія може містити персональні дані, токени, параметри запитів і конфіденційні документи. Визначте дозволені поля до збирання. Обмежуйте доступ і строки зберігання. Вилучайте секрети до експорту в зовнішню систему обробки. Чутлива телеметрія.
Не використовуйте адресу електронної пошти клієнта або унікальний ID задачі як мітку метрики. Необмежені мітки збільшують кількість часових рядів і можуть розкривати ідентифікатори. Для метрик використовуйте контрольовані виміри. Схвалені ідентифікатори кореляції розміщуйте в журналах або трасуваннях з обмеженим доступом.
Вимірюйте сам pipeline. Перевіряйте збої приймання, втрачені дані та давність останнього спостереження. Плаский графік помилок може означати відсутність помилок або відсутність вхідної телеметрії. Показуйте цю відмінність.
Дослідіть конкретний збій
Вигаданий сервіс повідомляє HTTP 202 для кожного запиту. Час перебування задач у черзі зростає із секунд до 15 хвилин. Журнали процесу-обробника показують повторювані тайм-аути бази даних. Вибіркові трасування відносять більшість часу процесу-обробника до викликів бази даних.
Ці докази підтримують цілеспрямоване розслідування. Вони не встановлюють, чи причина — зміна запиту, вичерпані з’єднання або потужність бази даних. Порівняйте ці гіпотези за методом налагодження.
Taiga Monitoring надає огляд стану продукту із сигналами доступності та досвіду в браузері. Він доповнює спостережуваність інфраструктури й застосунку, а не замінює ці системи. Monitoring.
Виконайте вправу
Для вигаданого експорту з цього уроку визначте один SLI, одне сповіщення, що потребує дії, три дозволені поля телеметрії та два заборонені. Зазначте, як виявите несправний pipeline телеметрії.
Завантажити робочий аркуш (Markdown)Зняття цієї позначки видаляє весь прогрес, збережений у цьому браузері.
Прогрес залишається в цьому браузері. Без облікового запису та відстеження.
Джерела та додаткові матеріали
- OpenTelemetry: Observability primer ↗
- OpenTelemetry: Handling sensitive data ↗
- Google SRE: Alerting on SLOs ↗
- Taiga docs: Monitoring ↗