mirror of
https://github.com/Dannecron/grafana-for-dev.git
synced 2025-12-25 15:52:35 +03:00
initial: create stack, add readme
This commit is contained in:
69
readme.md
Normal file
69
readme.md
Normal file
@@ -0,0 +1,69 @@
|
||||
## Grafana + loki logging stack
|
||||
|
||||
Стек docker-compose для упрощённого сбора и просмотра логов контейнеров с grafana loki.
|
||||
|
||||
### Installing
|
||||
|
||||
1. Скопировать [.env.example](/.env.example) в `.env`
|
||||
|
||||
#### With promtail
|
||||
|
||||
1. Добавить новый лейбл к контейнеру, чьи логи необходимо отсылать в loki
|
||||
|
||||
Например, достаточно просто добавить новый лейбл в `docker-compose`-файл искомого стека:
|
||||
```yaml
|
||||
services:
|
||||
my-service:
|
||||
labels:
|
||||
- "loki.log=true"
|
||||
```
|
||||
|
||||
2. Запустить весь стек `docker-compose`
|
||||
|
||||
```shell
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
#### With docker plugin
|
||||
|
||||
1. Установить [лог-драйвер grafana loki для docker](https://grafana.com/docs/loki/latest/clients/docker-driver/)
|
||||
|
||||
```shell
|
||||
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
|
||||
```
|
||||
|
||||
По факту, данный драйвер работает аналогично стандартному драйверу `json-file`, который позволяет просматривать логи стандартной командой `docker logs`, но при этом дополнительно пытается отправить логи в инстанс `loki`.
|
||||
|
||||
2. Активировать лог-драйвер для контейнера
|
||||
|
||||
К примеру, можно определить данный конфиг в искомом `docker-compose`-стеке:
|
||||
```yaml
|
||||
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"
|
||||
```
|
||||
|
||||
а затем просто подключить к конкретному контейнеру:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
my-service:
|
||||
<<: *loki-log-config
|
||||
```
|
||||
|
||||
3. Убрать профиль `promtail` из значения `COMPOSE_PROFILES` в файле [.env](/.env)
|
||||
4. Запустить стек `grafana` + `loki`
|
||||
|
||||
```shell
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Difference between driver and promtail
|
||||
|
||||
Использование драйвера - [рекомендованный способ доставки логов в loki](https://grafana.com/docs/loki/latest/clients/promtail/configuration/#example-docker-config). К тому же, он имеет очень много предопределённых лейблов для фильтрации контейнеров в `grafana`. Но его необходимо вручную ставить на всех машинах, на которых необходимо настроить подобный сбор логов.
|
||||
Reference in New Issue
Block a user