Loki

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

Loki — горизонтально масштабируемая система агрегации логов от Grafana Labs, а её нативный источник данных в Grafana позволяет исследовать, фильтровать и сопоставлять логи прямо в дашбордах, которые одновременно отображают связанные метрики. После настройки источника данных Loki с URL конечной точки HTTP-приёма логов вы запрашиваете логи с помощью LogQL — языка запросов Loki — непосредственно в панели Logs или в разделе Explore, набирая селекторы потоков вида {app="my-service"}. Источник данных Loki поддерживает гистограммы объёма логов, которые Grafana отображает в виде столбчатой диаграммы над списком логов, наглядно показывая скорость появления записей с течением времени. Производные поля в конфигурации источника данных Loki позволяют Grafana извлекать такие поля, как идентификаторы трассировок, из строк логов и создавать кликабельные ссылки, ведущие к соответствующей трассировке в источнике данных Tempo — это обеспечивает бесшовную корреляцию логов и трассировок. Loki нативно интегрируется с Grafana Alerting, поэтому вы можете задавать правила алертинга, срабатывающие при превышении порогового числа строк логов, соответствующих заданному LogQL-фильтру, — всё это не выходя из интерфейса Grafana.

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

Loki: настраиваются в Settings → Data Sources или через provisioning YAML. Распространённые: Prometheus (метрики), Loki (логи), Tempo (traces), InfluxDB, PostgreSQL, MySQL, Elasticsearch, CloudWatch, OpenSearch. У каждого type-specific конфиг (URL, auth, дефолтные query-опции). Mixed datasource в одной панели позволяет комбинировать запросы из нескольких источников. Test connection до использования ("Save & Test").

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

Provisioning YAML — для декларирования data sources; клики в UI в 10 средах error-prone. Prometheus URL через env var — один Helm chart деплоится в dev/staging/prod с разными backend. Mixed datasource — осторожно; усложняет запросы. Всегда проверяйте, что "Default"-datasource совпадает с самым используемым.

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

Ловушки Loki: data sources с сохранёнными credentials утекают через URL панелей / shared дашбордов (server-side auth где можно); datasource на localhost из Docker-контейнера (используйте docker-internal hostnames или внешние адреса); слишком много data sources = медленный старт UI.

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

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