Files
grafana-for-dev/readme.md

2.8 KiB
Raw Blame History

Grafana + loki logging stack

Стек docker-compose для упрощённого сбора и просмотра логов контейнеров с grafana loki.

Installing

  1. Скопировать .env.example в .env

With promtail

  1. Добавить новый лейбл к контейнеру, чьи логи необходимо отсылать в loki

    Например, достаточно просто добавить новый лейбл в docker-compose-файл искомого стека:

    services:
      my-service:
        labels:
    	  - "loki.log=true"
    
  2. Запустить весь стек docker-compose

    docker compose up -d
    

With docker plugin

  1. Установить лог-драйвер grafana loki для docker

    docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
    

    По факту, данный драйвер работает аналогично стандартному драйверу json-file, который позволяет просматривать логи стандартной командой docker logs, но при этом дополнительно пытается отправить логи в инстанс loki.

  2. Активировать лог-драйвер для контейнера

    К примеру, можно определить данный конфиг в искомом 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
    
  3. Убрать профиль promtail из значения COMPOSE_PROFILES в файле .env

  4. Запустить стек grafana + loki

    docker compose up -d
    

Difference between driver and promtail

Использование драйвера - рекомендованный способ доставки логов в loki. К тому же, он имеет очень много предопределённых лейблов для фильтрации контейнеров в grafana. Но его необходимо вручную ставить на всех машинах, на которых необходимо настроить подобный сбор логов.