Готовая инструкция по развёртыванию Loki с Grafana для хранения и поиска логов экономичнее, чем ELK, с описанием конфигураций, запросов LogQL и ретеншна. Ожидаемое время выполнения полного прохода — 60–120 минут.
0
Статья была полезной?
Комментарии (0)
Войдите или зарегистрируйтесь, чтобы оставить комментарий
Загрузка комментариев…
К концу руководства вы получите работоспособный стек Loki + Grafana для централизованного логирования с Promtail как сборщиком и базовой политикой хранения. Полный рабочий тест занимает около 60–120 минут при стабильном интернет-соединении.
Что вы изучите
Развёртывание Loki 2.9 (релиз 2025) и Grafana 10.3 (релиз 2025) с Docker.
Конфигурация Promtail 2.9 для сбора системных и контейнерных логов.
Примеры LogQL-запросов для поиска, агрегации и визуализации.
Настройка ретеншна и хранение в S3-совместимом бакете.
Проверки, типовые ошибки и их исправления при переходе на production.
Требования
ОС: Ubuntu 22.04 LTS или Debian 12; альтернативно RHEL/CentOS 8+
Docker Engine 24.0 (релиз 2024) или Docker Compose V2, или Kubernetes 1.29 (релиз 2025) для K8s-деплоя
Минимум: 2 CPU, 4 ГБ ОЗУ для стенда разработки; production: 4+ CPU, 16+ ГБ ОЗУ
Порты: Grafana 3000, Loki HTTP API 3100 по умолчанию
Почему Loki?
Loki оптимизирован под индексирование метаданных, а не полного текста, что делает хранение логов дешевле по объёму и по IOPS по сравнению с классическим ELK. Loki 2.9 (релиз 2025) поддерживает модульное хранение данных в S3-совместимых бэкендах, сжатие чанков и менеджмент ретеншна, что уменьшает расходы на дисковое пространство и сетевой трафик. Для быстрых обзоров и корелляции с метриками Grafana 10.3 предоставляет интеграцию Explore и серийные дашборды.
Если вы работаете в контейнерных средах и используете Docker или DevOps практики, Loki даёт возможность хранить логи как ссылки на поток, сокращая объём инвертированных индексов и экономя IOPS при больших объёмах записи.
Скриншот интерфейса Grafana с дашбордом Loki
Шаг 1: установка
Команда: развёртывание Loki и Grafana с помощью docker-compose. Используем образы: grafana/grafana:10.3.0 (около 250MB), grafana/loki:2.9.0 (около 150MB). Примерный время загрузки образов — 1–3 минуты на стабильном 100 Mbps канале.
$ docker compose up -d
Creating network "loki_default" with the default driver
Creating loki ... done
Creating grafana ... done
Типичная ошибка: порт 3100 или 3000 уже занят.
Error: failed to create listener: bind: address already in use
Фикс: проверьте занятые порты и освободите их или переназначьте порты в docker-compose.yml.
Шаг 2: Promtail для сбора
Команда: установка Promtail 2.9 как контейнера или systemd-сервис для сбора /var/log и docker контейнерных логов. Ниже пример docker-compose секции для Promtail.
Типичная ошибка: Promtail не может достучаться до Loki (connection refused или DNS).
level=error ts=2026-03-12T12:35:00.001Z caller=client.go:150 msg="Pushing to loki failed" err="Post \"http://loki:3100/loki/api/v1/push\": dial tcp: lookup loki: no such host"
Фикс: проверьте сетевые алиасы в docker compose (служба должна быть названа loki), или используйте полный URL с IP, например http://127.0.0.1:3100 при локальном подключении. Для Kubernetes убедитесь в правильном Service имени и Namespace.
Скриншот логов Promtail с подключением к Loki
Шаг 3: LogQL запросы
Команда: открытие Grafana Explore по адресу http://<ваш-хост>:3000. Примеры запросов LogQL для поиска и агрегации.
Комментарии (0)
Войдите или зарегистрируйтесь, чтобы оставить комментарий
Загрузка комментариев…