Initial commit: Complete Software Architecture course with 11 modules

- 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
This commit is contained in:
Alexander Abakumov committed 2025-09-09 22:08:07 +03:00
commit 15e744da49
107 files changed
+61762

No files matched your search

+113
View File
@@ -0,0 +1,113 @@
# Модуль 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%)