Перейти к содержанию

Что такое LGTM стек


LGTM — это не аббревиатура, это акроним: Loki + Grafana + Tempo + Mimir. Четыре проекта, каждый отвечает за свой тип данных:

  • Loki собирает и хранит логи
  • Mimir хранит и обслуживает метрики (Prometheus-совместимый)
  • Tempo хранит и визуализирует распределённые трейсы
  • Grafana объединяет всё в единый интерфейс

Вместе они покрывают три столпа наблюдаемости (observability): метрики, логи, трейсы. И добавляют четвёртый — профили.


Почему это важно

До LGTM инженер смотрел метрики в Prometheus, логи в Kibana, трейсы в Jaeger — три разных инструмента, три разных языка запросов, три разных интерфейса. Если в 3 часа ночи падала база данных, инженер открывал три вкладки и пытался сопоставить таймстемпы вручную.

LGTM делает это мгновенным: из метрики Prometheus виден всплеск — один клик, и Grafana открывает логи за тот же промежуток времени. Из логов виден traceID — ещё один клик, Grafana показывает весь трейс. Смотрим flame graph профиля — понимаем, какой метод жрал CPU.

Техническая основа этой магии: единые метки/labels везде. Имена сервисов, инстансов, сред — одни и те же во всех продуктах стека.


Grafana Alloy

До недавнего времени каждый продукт требовал своего агента для сбора и отправки телеметрии. Prometheus требовал exporter'ы, Loki — promtail, Tempo — OTel SDK, Pyroscope — собственный агент. Grafana объединила всё это в Grafana Alloy.

Alloy — OpenTelemetry collector, который умеет получать все виды телеметрии и отдавать их в соответствующие бэкенды LGTM:

[Ваше приложение]  →  [Alloy]  →  [Loki] логов
                                 →  [Mimir] метрик
                                 →  [Tempo] трейсов

Alloy — это эволюция Grafana Agent в сторону OpenTelemetry.


Correlation в Grafana

Имея единые labels (по service, instance, traceID), Grafana/Core автоматически связывает данные:

  • метрика → логи (exemplar)
  • логи → трейс (извлечение traceID через derived field)
  • трейс → метрика (RED metrics изция через Span Metrics)

Это и есть главная ценность LGTM. Не только видеть — но связывать.



Далее: Loki: логи