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 и их значения:

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

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

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

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

 

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

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

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

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

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