Назад | Перейти на главную страницу

Как транслировать журналы через TCP из rsyslog в Docker?

Мне нужна очень простая вещь (для интеграционного теста более крупной системы, организованного docker-compose): для настройки Debian исходя из Docker изображение с rsyslog внутри, чтобы при запуске rsyslog испустит некоторые syslog сообщения закончились TCP на другую машину (контейнер). Как мне это сделать?

Я знаю Dockerfile, вопрос о rsyslog конфигурация и как мне создать некоторые сообщения системного журнала? В идеале, если бы они могли быть предопределены (чтобы сопоставить их на другом конце интеграционного теста).

Я просто попытался добавить следующую строку:

*.* @@remote-machine

в конце /etc/rsyslog.conf внутри моего Docker изображение, но тогда, видимо, я не получаю сообщения. Неправильная конфигурация? Порт TCP 514 предполагается здесь? Или просто нет syslog сообщение доступно, когда я запускаю этот контейнер, используя docker-compose?

Мой Dockerfile выглядит как:

FROM debian:10.4

RUN apt-get update && apt-get -y upgrade
RUN apt-get -y install rsyslog

# ... modify /etc/rsyslog.conf :
#   - append the *.* @@remote-machine line (see above)
#   - disable imklog which is causing errors

ENTRYPOINT ["/etc/init.d/rsyslog"]
CMD ["start"]

Спасибо!

Вы можете использовать logger команда для создания произвольных сообщений системного журнала. Например:

logger --server 172.17.0.2 --priority local7.info --tag TEST Sample log message