Хранение и визуализация: ClickHouse, Grafana, Prometheus, Jaeger/Tempo
↑ 7.2 Observability: логи, метрики, трейсинг, OpenTelemetry · ← Предыдущая · → Следующая
Зачем это на собесе
Какие хранилища подходят под какие сигналы и как строят дашборды.
Объяснение
| Сигнал | Хранилище | Визуализация |
|---|---|---|
| Метрики | Prometheus (pull), VictoriaMetrics, Mimir (долгое хранение) | Grafana |
| Логи | Loki (индексирует только метки), Elasticsearch/OpenSearch, ClickHouse | Grafana, Kibana |
| Трейсы | Tempo (объектное хранилище), Jaeger (Elasticsearch/Cassandra), ClickHouse | Grafana, Jaeger UI |
| Профили | Pyroscope, Parca | Grafana |
Prometheus: собирает метрики по HTTP (/metrics), язык запросов PromQL.
sum(rate(http_server_request_duration_seconds_count{status=~"5.."}[5m])) / sum(rate(http_server_request_duration_seconds_count[5m])) # доля ошибок
histogram_quantile(0.95, sum by (le) (rate(http_server_request_duration_seconds_bucket[5m]))) # p95ClickHouse как единое хранилище логов/трейсов/метрик (например, SigNoz, HyperDX, Uptrace): колоночное сжатие и быстрые агрегаты по огромным объёмам.
Grafana: дашборды, алерты, связь сигналов (переход от метрики к трейсу через exemplars, от лога к трейсу по trace_id).
Хорошие дашборды: по методу RED для сервисов и USE для ресурсов (см. Метрики и SLO: RED, USE, алерты), ссылки на runbook.
Нюансы и подводные камни
- Кардинальность меток в Prometheus — главная причина падений.
- Retention и стоимость хранения: горячие и холодные данные, агрегирование (recording rules).
- Дашборд без вывода — украшение: каждому графику нужен вопрос, на который он отвечает.
- Хранилище и агент сбора надо мониторить отдельно.
Практика
- Соберите стек Prometheus + Grafana + Tempo + Loki в Docker Compose.
- Постройте RED-дашборд сервиса.
- Настройте переход от метрики к трейсу и логу.
Вопросы с ответами
Prometheus использует pull или push?
Pull: опрашивает
/metricsцелей; для коротких задач применяется Pushgateway.
Почему ClickHouse подходит для телеметрии?
Колоночное хранение и сжатие дают быстрые агрегаты и дешёвое хранение больших объёмов.