Набір інструментів спостережуваності
Трек інструментів | 8 модулів | ~6.5 годин загалом
Огляд
Розділ «Огляд»Набір інструментів спостережуваності (Observability Toolkit) охоплює основні засоби для моніторингу, логування та трасування cloud-native застосунків. Це інструменти, які ви будете використовувати щодня, щоб розуміти, що відбувається у ваших системах.
Цей набір базується на теоретичному фундаменті Теорії спостережуваності та показує, як впроваджувати ці концепції за допомогою інструментів промислового рівня.
Передумови
Розділ «Передумови»Перед початком цього треку:
- Теорія спостережуваності — концептуальний фундамент
- Дисципліна SRE — як спостережуваність вписується в операції (рекомендовано)
- Базові знання Kubernetes
- Навички роботи з командним рядком
Модулі
Розділ «Модулі»| # | Модуль | Складність | Час |
|---|---|---|---|
| 1.1 | Prometheus | [COMPLEX] | 45-50 хв |
| 1.2 | OpenTelemetry | [COMPLEX] | 45-50 хв |
| 1.3 | Grafana | [COMPLEX] | 40-45 хв |
| 1.4 | Loki | [COMPLEX] | 40-45 хв |
| 1.5 | Розподілене трасування | [COMPLEX] | 45-50 хв |
| 1.6 | Pixie | [MEDIUM] | 90 хв |
| 1.7 | Hubble | [MEDIUM] | 90 хв |
| 1.8 | Coroot | [MEDIUM] | 90 хв |
| 1.9 | Безперервне профілювання | [MEDIUM] | 40 хв |
| 1.10 | Інструменти SLO | [MEDIUM] | 40 хв |
Результати навчання
Розділ «Результати навчання»Після завершення цього треку ви зможете:
- Розгортати Prometheus — збір метрик, PromQL, алертинг, service discovery
- Інструментувати з OpenTelemetry — SDK, Collector, авто-інструментування
- Будувати дашборди Grafana — змінні, Чотири Золоті Сигнали, Explore
- Агрегувати логи з Loki — LogQL, Promtail, мульти-тенентність
- Трасувати розподілені запити — Jaeger, Tempo, TraceQL, семплювання
- Використовувати Pixie для спостережуваності без інструментування — eBPF, PxL запити, миттєвий дебаг
- Розгортати Hubble для мережевої спостережуваності — інтеграція з Cilium, дебаг мережевих політик
- Розгортати 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 • Побачити повідомлення про помилки • Отримати повний контекстПов’язані треки
Розділ «Пов’язані треки»- До: Теорія спостережуваності — чому ці інструменти існують
- Пов’язано: Дисципліна SRE — як застосовувати спостережуваність
- Пов’язано: Набір інструментів IaC — розгортання стека через Terraform
- Після: Набір інструментів GitOps — деплой застосунків зі спостережуваністю
“Ви не можете покращити те, що не можете виміряти. Ви не можете відлагодити те, чого не бачите. Спостережуваність дає вам і те, і інше.”