====== Prometheus, Grafana, Loki - Observability инфраструктуры ====== ===== Модуль 1. Основы наблюдаемости и архитектура стека ===== ==== Теория ==== * [[https://habr.com/ru/articles/956318/|SLA, SLO, SLI простыми словами и с примерами]] * SLA (Service Level Agreement) и SLO (Service Level Objective) * Метрики, Логи, Трейсы, Чем отличается мониторинг от наблюдаемости * Роль каждого компонента (Prometheus, Grafana, Loki) в экосистеме ==== Практика ==== * Установка Prometheus и Grafana ===== Модуль 2. Сбор и анализ метрик с Prometheus ===== * Настройка экспортеров (Node Exporter для метрик ОС), принцип pull-модели, Service Discovery * Язык запросов PromQL: Изучение типов данных (счетчики, измеряемые величины, гистограммы), операторов и агрегаций * Оценка загрузки CPU, RAM, сети, задержки ввода/вывода ===== Модуль 3. Централизация логов с Loki ===== * Установка Grafana Loki * Установка и настройка Promtail для доставки логов приложений и системных журналов * Язык LogQL, фильтрация и анализ логов (поиск ошибок, парсинг JSON, агрегация статистики по логам) ===== Модуль 4. Визуализация данных и дашборды в Grafana ===== * Подключение Prometheus и Loki к Grafana. * Создание дашбордов, типы панелей (Time series, Table, Stat, Logs), настройка внешнего вида и переменных, интерактивные дашборды * Пример дашборда "Мониторинг сервера" с метриками (CPU/RAM) и виджетом последних ошибок из логов ===== Модуль 5. Алертинг и обнаружение проблем ===== * Prometheus + Alertmanager, создание правил алертинга (например, "сервер не отвечает", "много 500-х ошибок") * Настройка маршрутизации уведомлений (Email, Telegram) * Управление инцидентами, настройка silence (подавление алертов), агрегация нотификаций * Grafana Alerting, настройка алертов непосредственно в интерфейсе Grafana ===== Черновик ===== * Процент и время задержки писем через greylist