Главная/Разработка/Loki
Установка Loki на свой сервер
Установка Loki в Docker сводится к одному контейнеру grafana/loki с файлом конфигурации и портом 3100. Loki индексирует только метки логов, а не весь текст, поэтому индекс остаётся маленьким, но по умолчанию логи хранятся бесконечно, пока вы не задали срок.
Ответ за 30 секунд
Для небольшого проекта хватит 1 ядра и 2 ГБ памяти с Loki и Grafana на одном сервере. Сразу включите compactor с retention_period: без него диск заполняется логами, пока сервер не остановится.
Почасовая оплата: схему сбора логов можно проверить за рубли и удалить сервер.
Срок хранения логов в Loki и как посчитать диск3100порт Loki
0sсрок хранения по умолчанию
LogQLязык запросов к логам
01 · 1 мин
Как устроен Loki и чем он отличается от Elasticsearch#
Loki складывает текст логов в сжатые блоки, а в индекс записывает только метки: имя сервера, контейнера, задания. Запрос сначала отбирает потоки по меткам, затем фильтрует строки внутри них на языке LogQL. Для типичного вопроса «что писал контейнер app вчера вечером» этого достаточно.
Цена такого устройства в том, что поиск произвольной фразы по большому периоду без меток идёт медленнее, чем в системах с полнотекстовым индексом. Сравните: установка Elasticsearch и установка Graylog. Смотрят логи Loki через Grafana.
02 · 1 мин
Установка Loki и Grafana через Docker Compose#
- Создайте каталог
lokiи положите в него два файла:loki-config.yamlиcompose.yml. - Запустите
docker compose up -dи проверьте адресhttp://127.0.0.1:3100/ready. - Откройте 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
Три ответа, и калькулятор подберёт готовую конфигурацию
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.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов