Debian

如何從 Docker 中的 rsyslog 通過 TCP 流式傳輸一些日誌?

  • June 15, 2020

我需要一個非常簡單的東西(對於更大系統的集成測試,由 編排docker-compose):設置一個Debian基於內部的Docker圖像rsyslog,以便在執行時rsyslog將一些syslog消息發送TCP到另一台機器(容器)。我該怎麼做呢?

我知道Dockerfile,問題是關於rsyslog配置以及如何生成一些系統日誌消息?理想情況下,如果可以預定義它們(以在集成測試的另一端匹配它們)。

我剛剛嘗試添加以下行:

*.* @@remote-machine

/etc/rsyslog.conf我的Docker圖像的最後,但顯然我沒有收到任何消息。是不是配置錯了?514此處假定TCP 埠嗎?或者當我使用執行這個容器時沒有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命令創建任意 syslog 消息。例如:

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

引用自:https://serverfault.com/questions/1021551