Metric queries

Тема дорожной карты · Loki

Метрические запросы в LogQL преобразуют потоки логов из Grafana Loki в данные временных рядов, которые можно отображать на графиках Grafana или использовать для управления правилами алертов. Вместо возврата сырых строк логов метрический запрос оборачивает конвейер потока логов в функцию диапазонной агрегации — например, rate(), count_over_time(), bytes_over_time() или quantile_over_time() — и задаёт временное окно вроде [5m]. Результат представляет собой набор мгновенных или диапазонных векторов, идентичных по структуре PromQL, что означает полную совместимость метрических запросов Grafana Loki с теми же дашбордами и рабочими процессами оповещений, что используются для метрик Prometheus. После диапазонной агрегации можно применять операторы агрегации в стиле PromQL — sum by (namespace), topk, avg и max — для дополнительного сокращения результирующего набора. Метрические запросы необходимы для мониторинга SLO на основе логов, отслеживания частоты запросов и расчёта бюджетов ошибок полностью в рамках Grafana Loki без отдельной системы метрик.

Как это работает

Metric queries: LogQL может считать metrics из логов. rate({app="nginx"} |= "5"[5m]) = rate 5xx-ошибок per second. count_over_time(...) = absolute counts. bytes_rate(...) = bytes per second. quantile_over_time(0.95, ...) = 95-й percentile числового поля (после extraction). sum by (status_code)(rate(...)) = aggregations. Metric queries из логов позволяют строить alerts + dashboards без separate metric-пайплайнов, но дороже Prometheus для той же метрики.

Когда применять

Metric queries — для ad-hoc анализа из уже имеющихся логов. Для production metrics инструментируйте Prometheus напрямую — намного дешевле в query time. rate() + sum by (...) для HTTP status code rates из access logs — классический паттерн. Recording rules (следующая тема) сохраняют эти computed-метрики для dashboards.

Типичные ошибки

Ловушки Metric queries: тяжёлый quantile_over_time по неделям логов (медленно, дорого); дублирование Prometheus-метрик через LogQL (Prometheus дешевле); не кешируют/записывают dashboard-queries (пересчитывается на каждом refresh); игнор high-cardinality extracted labels в aggregations.

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…