- Added comprehensive course structure with 11 modules - Included theoretical content, practical examples, and tasks - Multi-language code examples (Java, Rust, Node.js, Python) - Detailed analysis of architectural approaches and trade-offs - Complete caching strategies documentation - Architecture examples from real-world systems (Twitter, Netflix, Uber) - Structured navigation and learning path - Ready for educational use
114 lines
4.8 KiB
Markdown
114 lines
4.8 KiB
Markdown
# Модуль 5: Мониторинг и наблюдаемость
|
||
|
||
## Навигация
|
||
- [🏠 Главная страница курса](../../README.md)
|
||
|
||
---
|
||
|
||
## Описание модуля
|
||
|
||
Этот модуль посвящен изучению современных подходов к мониторингу и наблюдаемости в распределенных системах. Студенты изучат принципы сбора метрик, логирования, трассировки и создания эффективных систем мониторинга.
|
||
|
||
## Содержание модуля
|
||
|
||
### 1. [Основы мониторинга](sections/01-monitoring-basics.md)
|
||
- Цели и типы мониторинга
|
||
- Метрики мониторинга (Counters, Gauges, Histograms, Summaries)
|
||
- Принципы проектирования систем мониторинга
|
||
|
||
### 2. [Prometheus и Grafana](sections/02-prometheus-grafana.md)
|
||
- Архитектура Prometheus
|
||
- PromQL (язык запросов Prometheus)
|
||
- Создание дашбордов в Grafana
|
||
- Настройка алертов
|
||
|
||
### 3. [Логирование](sections/03-logging.md)
|
||
- Structured Logging
|
||
- Log Levels и Correlation ID
|
||
- ELK Stack (Elasticsearch, Logstash, Kibana)
|
||
- Fluentd для сбора логов
|
||
|
||
### 4. [Distributed Tracing](sections/04-distributed-tracing.md)
|
||
- Принципы распределенной трассировки
|
||
- OpenTelemetry
|
||
- Jaeger для анализа трассировок
|
||
- Интеграция с микросервисами
|
||
|
||
### 5. [Observability](sections/05-observability.md)
|
||
- Три столпа наблюдаемости
|
||
- Health Checks
|
||
- Custom Metrics
|
||
- Паттерны наблюдаемости
|
||
|
||
### 6. [Alerting](sections/06-alerting.md)
|
||
- Принципы алертинга
|
||
- Правила оповещений Prometheus
|
||
- Конфигурация Alertmanager
|
||
- Предотвращение усталости от алертов
|
||
|
||
### 7. [SLI/SLO/SLA](sections/07-sli-slo-sla.md)
|
||
- SLI (Service Level Indicators)
|
||
- SLO (Service Level Objectives)
|
||
- SLA (Service Level Agreements)
|
||
- Мониторинг соответствия SLO
|
||
|
||
## Ключевые компетенции
|
||
|
||
После изучения модуля студенты будут уметь:
|
||
|
||
- Проектировать системы мониторинга
|
||
- Настраивать Prometheus и Grafana
|
||
- Реализовывать структурированное логирование
|
||
- Настраивать распределенную трассировку
|
||
- Создавать эффективные алерты
|
||
- Определять и мониторить SLI/SLO/SLA
|
||
|
||
## Практические задания
|
||
|
||
1. **Настройка мониторинга**
|
||
- Установка и конфигурация Prometheus
|
||
- Создание дашбордов в Grafana
|
||
- Настройка сбора метрик из приложений
|
||
|
||
2. **Структурированное логирование**
|
||
- Настройка ELK Stack
|
||
- Реализация Correlation ID
|
||
- Создание шаблонов логов
|
||
|
||
3. **Distributed Tracing**
|
||
- Настройка OpenTelemetry
|
||
- Интеграция с Jaeger
|
||
- Анализ трассировок
|
||
|
||
4. **Система алертинга**
|
||
- Создание правил алертов
|
||
- Настройка Alertmanager
|
||
- Интеграция с уведомлениями
|
||
|
||
5. **SLI/SLO/SLA**
|
||
- Определение ключевых метрик
|
||
- Создание SLO
|
||
- Мониторинг соответствия целям
|
||
|
||
6. **Observability Dashboard**
|
||
- Создание комплексного дашборда
|
||
- Интеграция метрик, логов и трассировок
|
||
- Настройка автоматических проверок
|
||
|
||
## Дополнительные ресурсы
|
||
|
||
- [Prometheus Documentation](https://prometheus.io/docs/) - официальная документация Prometheus
|
||
- [Grafana Documentation](https://grafana.com/docs/) - документация Grafana
|
||
- [OpenTelemetry](https://opentelemetry.io/) - стандарт для наблюдаемости
|
||
- [Jaeger Documentation](https://www.jaegertracing.io/docs/) - документация Jaeger
|
||
- [ELK Stack](https://www.elastic.co/elastic-stack/) - стек для логирования
|
||
|
||
## Критерии оценки
|
||
|
||
- Понимание принципов мониторинга (20%)
|
||
- Навыки работы с Prometheus и Grafana (25%)
|
||
- Опыт настройки логирования (20%)
|
||
- Знание Distributed Tracing (15%)
|
||
- Навыки создания алертов (10%)
|
||
- Понимание SLI/SLO/SLA (10%)
|