2.8 KiB
Grafana + loki logging stack
Стек docker-compose для упрощённого сбора и просмотра логов контейнеров с grafana loki.
Installing
- Скопировать .env.example в
.env
With promtail
-
Добавить новый лейбл к контейнеру, чьи логи необходимо отсылать в loki
Например, достаточно просто добавить новый лейбл в
docker-compose-файл искомого стека:services: my-service: labels: - "loki.log=true" -
Запустить весь стек
docker-composedocker compose up -d
With docker plugin
-
Установить лог-драйвер grafana loki для docker
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissionsПо факту, данный драйвер работает аналогично стандартному драйверу
json-file, который позволяет просматривать логи стандартной командойdocker logs, но при этом дополнительно пытается отправить логи в инстансloki. -
Активировать лог-драйвер для контейнера
К примеру, можно определить данный конфиг в искомом
docker-compose-стеке:x-loki-log-config: &loki-log-config logging: driver: loki options: loki-url: "http://loki.docker.localhost/loki/api/v1/push" loki-retries: 5 loki-batch-size: 400 max-size: "50m" max-file: "10"а затем просто подключить к конкретному контейнеру:
services: my-service: <<: *loki-log-config -
Убрать профиль
promtailиз значенияCOMPOSE_PROFILESв файле .env -
Запустить стек
grafana+lokidocker compose up -d
Difference between driver and promtail
Использование драйвера - рекомендованный способ доставки логов в loki. К тому же, он имеет очень много предопределённых лейблов для фильтрации контейнеров в grafana. Но его необходимо вручную ставить на всех машинах, на которых необходимо настроить подобный сбор логов.