6 вопросов
Мониторинг приложений: Prometheus (pull-модель, типы метрик, PromQL, labels) и Grafana (datasources, дашборды). Alertmanager для уведомлений. Обязательные знания для production-систем.
Prometheus использует pull-модель: периодически опрашивает (scrape) /metrics каждого приложения. Преимущества: простота настройки, обнаружение мёртвых сервисов, нет нагрузки на приложения от push. Для короткоживущих задач есть Pushgateway.
Подробнее →Datasource - подключение к источнику данных. Grafana поддерживает десятки datasource: Prometheus (метрики), PostgreSQL (SQL), Loki (логи), Elasticsearch, InfluxDB, CloudWatch. Один дашборд может использовать несколько datasource.
Подробнее →Counter - только растёт (запросы, ошибки). Gauge - произвольное значение (температура, горутины). Histogram - распределение по бакетам (латентность: p50, p95, p99). Summary - квантили считаются на стороне приложения.
Подробнее →rate(http_requests_total[5m])? 🟡 Средний
▶
rate() вычисляет среднюю скорость увеличения counter'а за период. Результат - запросы в секунду. [5m] - окно для вычисления. irate() - мгновенная скорость по последним двум точкам. increase() - абсолютный прирост за период.
Подробнее →Labels добавляют измерения: http_requests_total{method="GET", status="200"}. Позволяют фильтровать, группировать (sum by (method)), агрегировать. Каждая комбинация label - отдельный time series. Много labels = high cardinality проблема.
Подробнее →Prometheus оценивает правила алертов и отправляет сработавшие в Alertmanager. Alertmanager: группирует связанные алерты, подавляет дубликаты, маршрутизирует по каналам (Slack, email, PagerDuty, Telegram). Silence - временное отключение алертов.
Подробнее →