Docker – отправка логов в graylog

Для отправки логов с докера в Graylog используется драйвер GELF, который docker поддерживает из коробки.


Gelf – это драйвер логирования который понимают множество современных утилит, пример GraylogLogstash, и Fluentd живет он на 12201 порту. Нам остается только настроить его драйвером по умолчанию для
, сделать это можно добавив необходимые ключи и значения в файл daemon.json.

Файл лежит в следующих директориях:

– linux: /etc/docker/daemon.json
– macOS: ~/.docker/daemon.json

Стоить помнить, что перед тем как отправлять логи, нужно создать Input GELF UDP в настройках Graylog.

Так как Input на Graylog у меня уже настроен, перейду к тестированию отправки логов.

Что ж, открываем файл ~/.docker/daemon.json удобным Вам редактором и добавляем ключ log-griver and log-opts и их значения:

{
     "log-driver": "gelf",
     "log-opts": {
        "gelf-address": "udp://GRAYLOG_SERVER_IP:12201"
     }
}

Чтоб изменения применились нужно перезапустить docker.

После перезапуска попробуем отправить простой вывод Hello World в Graylog, для этого запустим контейнер с ключами –log-driver и –log-opt:

❯ docker run \
      --log-driver gelf --log-opt gelf-address=udp://*********.example.com:12201 \
      alpine echo hello world from local
hello world from local

Переходим в UI Graylog, в поиске пишем Hello и смотрим результат:

отлично, все работает.

 

Если говорить про docker-compose, то здесь тоже все легко и элементарно.  Для примера опишем простой compose  файл с именем grafana-compose.yml с добавлением параметров logging:

version: "3"

services:

  grafana:
    image: grafana/grafana-oss:8.2.0
    ports:
      - 3000:3000
    logging:
      driver: gelf
      options:
        gelf-address: "udp://*******.example.com:12201"
        tag: "grafana-compose log"

после чего запустим его:

❯ docker-compose -f grafana-compose.yml up
[+] Running 1/0
 ⠿ Container docker-compose-grafana-1  Created                                                                                                                                                                                       0.0s
Attaching to docker-compose-grafana-1
**********

Снова переходим в UI Graylog, вбиваем в поиск grafana-compose, жмем Enter:

Логи там где им и место, работает.

Click to rate this post!
[Total: 0 Average: 0]