Перейти до вмісту

Набір інструментів спостережуваності

Трек інструментів | 8 модулів | ~6.5 годин загалом

Набір інструментів спостережуваності (Observability Toolkit) охоплює основні засоби для моніторингу, логування та трасування cloud-native застосунків. Це інструменти, які ви будете використовувати щодня, щоб розуміти, що відбувається у ваших системах.

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

Перед початком цього треку:

#МодульСкладністьЧас
1.1Prometheus[COMPLEX]45-50 хв
1.2OpenTelemetry[COMPLEX]45-50 хв
1.3Grafana[COMPLEX]40-45 хв
1.4Loki[COMPLEX]40-45 хв
1.5Розподілене трасування[COMPLEX]45-50 хв
1.6Pixie[MEDIUM]90 хв
1.7Hubble[MEDIUM]90 хв
1.8Coroot[MEDIUM]90 хв
1.9Безперервне профілювання[MEDIUM]40 хв
1.10Інструменти SLO[MEDIUM]40 хв

Результати навчання

Розділ «Результати навчання»

Після завершення цього треку ви зможете:

  1. Розгортати Prometheus — збір метрик, PromQL, алертинг, service discovery
  2. Інструментувати з OpenTelemetry — SDK, Collector, авто-інструментування
  3. Будувати дашборди Grafana — змінні, Чотири Золоті Сигнали, Explore
  4. Агрегувати логи з Loki — LogQL, Promtail, мульти-тенентність
  5. Трасувати розподілені запити — Jaeger, Tempo, TraceQL, семплювання
  6. Використовувати Pixie для спостережуваності без інструментування — eBPF, PxL запити, миттєвий дебаг
  7. Розгортати Hubble для мережевої спостережуваності — інтеграція з Cilium, дебаг мережевих політик
  8. Розгортати Coroot для автоматичної спостережуваності — трасування без коду, SLO, профілювання

Стек спостережуваності

Розділ «Стек спостережуваності»
┌─────────────────────────────────────────────────────────────────┐
│ СТЕК СПОСТЕРЕЖУВАНОСТІ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ВАШ ЗАСТОСУНОК │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Інструментований код │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ Метрики │ │ Логи │ │ Траси │ │ │
│ │ │ /metrics │ │ stdout │ │ спани │ │ │
│ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │
│ └───────┼─────────────┼─────────────┼──────────────────────┘ │
│ │ │ │ │
│ │ │ │ OTLP │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ OPENTELEMETRY COLLECTOR │ │
│ │ (отримує, обробляє, експортує всі сигнали) │ │
│ └───────┬─────────────┬─────────────┬──────────────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ PROMETHEUS │ │ LOKI │ │ TEMPO │ │
│ │ (метрики) │ │ (логи) │ │ (траси) │ │
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │
│ │ │ │ │
│ └──────────────┼──────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ GRAFANA │ │
│ │ (уніфікована візуалізація, дашборди, дослідження) │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Гід з вибору інструментів

Розділ «Гід з вибору інструментів»
ПотребаІнструментЧому
Зберігання метрикPrometheusГалузевий стандарт, PromQL, native K8s
Метрики у масштабіThanos/MimirМультикластер, довге зберігання, HA
ІнструментуванняOpenTelemetryВендор-нейтральний, повний SDK
Агрегація логівLokiЕкономічний, інтегрований у Grafana
Пошук по логахElasticsearchПовнотекстовий пошук, складні запити
Трасування (пошук)JaegerПошук за тегами, окремий UI
Трасування (дешево)TempoОб’єктне сховище, тільки trace ID
ДашбордиGrafanaОб’єднує всі сигнали, плагіни
Модуль 1.1: Prometheus
│ Фундамент: збір метрик
Модуль 1.2: OpenTelemetry
│ Сучасний стандарт інструментування
Модуль 1.3: Grafana
│ Візуалізація всіх сигналів
Модуль 1.4: Loki
│ Агрегація логів у стилі "Prometheus"
Модуль 1.5: Розподілене трасування
│ Jaeger, Tempo, кореляція
[Набір завершено] → Набір інструментів GitOps & Deployments
СтовпВідповідає на питанняІнструмент
МетрикиЩо відбувається? (кількісно)Prometheus
ЛогиЧому це сталося? (контекст)Loki
ТрасиДе це сталося? (шлях запиту)Jaeger/Tempo

Коли що використовувати

Розділ «Коли що використовувати»
РОЗСЛІДУВАННЯ ІНЦИДЕНТУ:
1. МЕТРИКИ → "Щось не так?"
• Дашборд показує стрибок затримки
• Рівень помилок зростає
• CPU/пам'ять аномальні
2. ТРАСИ → "Де саме проблема?"
• Знайти повільну трасу через екземпляр (exemplar)
• Побачити, який сервіс гальмує
• Ідентифікувати bottleneck span
3. ЛОГИ → "Що конкретно сталося?"
• Фільтр за trace_id
• Побачити повідомлення про помилки
• Отримати повний контекст

“Ви не можете покращити те, що не можете виміряти. Ви не можете відлагодити те, чого не бачите. Спостережуваність дає вам і те, і інше.”