Как отправлять логи в Graylog (Docker)?

Я новичок в Docker и Graylog. Может ли кто-нибудь показать мне пример отправки данных журнала на сервер Graylog?


person Shamik Mukherjee    schedule 03.08.2016    source источник
comment
Какие журналы (из каких приложений или устройств) вы хотите собирать?   -  person joschi    schedule 03.08.2016


Ответы (2)


На самом деле это довольно просто! Предпочтительный формат журнала Graylog - GELF - изначально поддерживается Docker. Поэтому, если вы уже используете журналы Docker (функция внутреннего журналирования Docker), вы можете просто использовать встроенную поддержку Docker, которая перенаправит все журналы из вашего контейнера в указанную конечную точку GELF. Вам нужно будет создать вход GELF UDP на сервере Graylog.

https://docs.docker.com/engine/admin/logging/overview/

Для запуска контейнера из командной строки, который отправляет все журналы в Graylog через GELF, просто используйте параметры log-driver и gelf-address:

docker run -dit \
--log-driver=gelf \
--log-opt gelf-address=udp://192.168.0.42:12201 \
alpine sh
person Paul Weber    schedule 04.08.2016
comment
Я не мог отправлять исключения, которые он получает при запуске контейнера, в Graylog. Я должен использовать udp? Я использую tcp-ввод. - person muhammed ozbilici; 05.03.2020

Если Graylog предоставляет прослушиватель системного журнала, вы можете отправить его с драйвером ведения журнала системного журнала Docker. Но поскольку вы говорите, что вы новичок в Graylog, взгляните на https://github.com/sematext/sematext-agent-docker, который должен работать для вас с минимальными усилиями и сможет также захватывать показатели и события Docker, а не только журналы, что удобно.

person user3148164    schedule 04.08.2016