Главная/Разработка/Loki

Установка Loki на свой сервер

Установка Loki в Docker сводится к одному контейнеру grafana/loki с файлом конфигурации и портом 3100. Loki индексирует только метки логов, а не весь текст, поэтому индекс остаётся маленьким, но по умолчанию логи хранятся бесконечно, пока вы не задали срок.

4 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для небольшого проекта хватит 1 ядра и 2 ГБ памяти с Loki и Grafana на одном сервере. Сразу включите compactor с retention_period: без него диск заполняется логами, пока сервер не остановится.

Почасовая оплата: схему сбора логов можно проверить за рубли и удалить сервер.

Срок хранения логов в Loki и как посчитать диск

01 · 1 мин

Как устроен Loki и чем он отличается от Elasticsearch#

Loki складывает текст логов в сжатые блоки, а в индекс записывает только метки: имя сервера, контейнера, задания. Запрос сначала отбирает потоки по меткам, затем фильтрует строки внутри них на языке LogQL. Для типичного вопроса «что писал контейнер app вчера вечером» этого достаточно.

Цена такого устройства в том, что поиск произвольной фразы по большому периоду без меток идёт медленнее, чем в системах с полнотекстовым индексом. Сравните: установка Elasticsearch и установка Graylog. Смотрят логи Loki через Grafana.

02 · 1 мин

Установка Loki и Grafana через Docker Compose#

  1. Создайте каталог loki и положите в него два файла: loki-config.yaml и compose.yml.
  2. Запустите docker compose up -d и проверьте адрес http://127.0.0.1:3100/ready.
  3. Откройте Grafana через SSH-туннель, добавьте источник данных Loki с адресом http://loki:3100: контейнеры видят друг друга по имени сервиса.
# loki-config.yaml
auth_enabled: false
server:
  http_listen_port: 3100
common:
  instance_addr: 127.0.0.1
  path_prefix: /loki
  storage:
    filesystem:
      chunks_directory: /loki/chunks
      rules_directory: /loki/rules
  replication_factor: 1
  ring:
    kvstore:
      store: inmemory
schema_config:
  configs:
    - from: 2024-04-01
      store: tsdb
      object_store: filesystem
      schema: v13
      index:
        prefix: index_
        period: 24h
limits_config:
  retention_period: 744h
compactor:
  working_directory: /loki/compactor
  retention_enabled: true
  delete_request_store: filesystem
# compose.yml
services:
  loki:
    image: grafana/loki
    restart: unless-stopped
    command: -config.file=/etc/loki/config.yaml
    ports: ["127.0.0.1:3100:3100"]
    volumes:
      - ./loki-config.yaml:/etc/loki/config.yaml:ro
      - loki_data:/loki
  grafana:
    image: grafana/grafana-oss
    restart: unless-stopped
    ports: ["127.0.0.1:3000:3000"]
    volumes:
      - grafana_data:/var/lib/grafana
volumes:
  loki_data:
  grafana_data:

03 · 1 мин

Как отправлять логи в Loki: агент или драйвер Docker#

Сам Loki логи не забирает, их ему присылает отправитель. Раньше для этого ставили Promtail, но он объявлен устаревшим, и его заменяет Grafana Alloy: один агент читает файлы и журнал systemd и пересылает строки на адрес /loki/api/v1/push.

Для контейнеров есть быстрый вариант, драйвер журналирования Docker:

docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
docker run -d --log-driver=loki \
  --log-opt loki-url="http://127.0.0.1:3100/loki/api/v1/push" \
  --log-opt loki-external-labels="job=app" nginx

Драйвер удобен для старта, но привязывает запись логов контейнера к доступности Loki. Для постоянной схемы лучше подходит отдельный агент.

Инструмент · 1 мин

Срок хранения логов в Loki и как посчитать диск#

За срок отвечают три ключа конфигурации: compactor.retention_enabled: true, limits_config.retention_period и compactor.delete_request_store. Значение по умолчанию равно 0s, то есть логи не удаляются никогда. В примере выше стоит 744 часа, около месяца.

Диск считают так: объём логов за сутки, умноженный на число дней хранения, с поправкой на сжатие. Объём за сутки прикиньте по journalctl --disk-usage и размеру каталога /var/lib/docker/containers, затем через двое суток после запуска измерьте реальный размер docker compose exec loki du -sh /loki/chunks и умножьте на дни. Метки с редкими значениями, например идентификатор запроса, раздувают индекс: такие данные оставляйте в тексте строки, а не в метках.

Какой сервер взять под Loki

Три ответа, и калькулятор подберёт готовую конфигурацию

Сколько логов в сутки пишут ваши сервисы
Как долго хранить логи
Grafana на этом же сервере

05 · 1 мин

Безопасность Loki и хранение блоков в S3#

Параметр auth_enabled: false означает один пользователь без проверки: любой, кто дотянулся до порта 3100, читает и пишет логи. Держите порт на 127.0.0.1, а агентам с других серверов дайте адрес за прокси с паролем, как в разборе установки Caddy.

Блоки Loki умеет хранить и в S3-совместимом хранилище, тогда диск сервера не ограничивает срок хранения. В Таймвеб Клауд S3 на 10 ГБ стоит 79 ₽ в месяц, на 100 ГБ 349 ₽ (на 14 октября 2026). Копии конфигурации и томов: сервер для бэкапов.

06 · 1 мин

Вопросы об установке Loki#

Чем Loki отличается от Elasticsearch при хранении логов?

Loki индексирует только метки и хранит текст сжатыми блоками, поэтому легче по диску. Elasticsearch индексирует весь текст и быстрее ищет произвольные фразы, но требует больше памяти.

Как задать срок хранения логов в Loki?

Включите retention_enabled в блоке compactor, задайте delete_request_store и укажите retention_period, например 744h. Без этого логи не удаляются.

Нужен ли Promtail для установки Loki?

Нет. Promtail объявлен устаревшим, логи присылает Grafana Alloy или драйвер журналирования Docker.

Можно ли подключить Loki к Grafana на другом сервере?

Да, в источнике данных указывают адрес Loki. Порт 3100 при этом нельзя открывать всем: ставьте прокси с паролем или закрытую сеть между серверами.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; S3-хранилище Таймвеб Клауд, timeweb.cloud/services/s3-storage, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; Документация Grafana Loki: срок хранения логов (retention), grafana.com/docs/loki/latest/operations/storage/retention, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Запустите свой сервер за пару минут

Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.

  • NVMe-диски и гарантированная доля процессора
  • Root-доступ и любой софт, от Docker до игровых серверов
  • Маркетплейс: 91 приложение в один клик
  • Бесплатный перенос проекта силами специалистов
Срок и диск