❗️System design — мониторинг❗️
Уже имеем:✅ Понятные и подтверждённые требования;
✅ "Скелет" будущей системы;
✅ Технологии интеграций между элементами;
✅ Технологии баз данных для сервисов;
✅ Средства отказоустойчивости и производительности.
Задача этапа:Внедрить мониторинг системы.
Если имеете опыт использования каких-то решений для мониторинга, смело применяйте его. Если опыта у вас нет, то ещё один "универсальный" список технологий:
1️⃣
PrometheusСистема сбора и хранения метрик. Собирает данные о работе системы (CPU, память, количество запросов, ошибок) и хранит их во временной базе данных.
2️⃣
GrafanaВизуализация метрик. Берет данные из Prometheus и показывает их в виде красивых дашбордов с графиками, таблицами и индикаторами.
3️⃣
Alertmanager Управление оповещениями. Принимает алерты от Prometheus, группирует их, убирает дубли и отправляет уведомления в нужные каналы (Email, Slack, Telegram и тд).
4️⃣
JaegerТрассировка распределенных систем. Показывает полный путь одного запроса через все микросервисы, где и сколько времени он выполнялся, что помогает находить узкие места.
5️⃣
ELK (Elasticsearch, Logstash, Kibana)Сбор и анализ логов:
- Elasticsearch — поисковый движок для хранения и поиска по логам;
- Logstash — сбор, парсинг и преобразование логов;
- Kibana — веб-интерфейс для просмотра и анализа логов.
Предыдущие части:Шаг 1:
правильно понимаем условия задачи;
Шаг 2:
строим скелет будущей системы;
Шаг 3:
проектируем интеграции;
Шаг 4:
выбор технологий БД;
Шаг 5:
производительность и отказоустойчивость.
Системный анализ | Дмитрий Помаскин