无法通过 Linux 容器中的 rsyslogd 从我的应用程序登录

无法通过 Linux 容器中的 rsyslogd 从我的应用程序登录

在 archlinux 主机上运行 archlinux 容器,两者都使用带有相同配置文件的 rsyslog:

$ cat /etc/rsyslog.conf 
# Minimal config

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup root
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$WorkDirectory /var/spool/rsyslog
$IncludeConfig /etc/rsyslog.d/*.conf

auth,authpriv.*         /var/log/auth.log
*.*;auth,authpriv.none      -/var/log/syslog
#cron.*             /var/log/cron.log
daemon.*            -/var/log/daemon.log
kern.*              -/var/log/kern.log
lpr.*               -/var/log/lpr.log
mail.*              -/var/log/mail.log
user.*              -/var/log/user.log

mail.info           -/var/log/mail.info
mail.warn           -/var/log/mail.warn
mail.err            /var/log/mail.err

news.crit           /var/log/news/news.crit
news.err            /var/log/news/news.err
news.notice         -/var/log/news/news.notice

*.=debug;\
    auth,authpriv.none;\
    news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
    auth,authpriv.none;\
    cron,daemon.none;\
    mail,news.none      -/var/log/messages

*.emerg             :omusrmsg:*

当我向主机上的系统日志发送消息时:

$ echo hello|logger -p kern.info 
$ sudo tail -1  /var/log/syslog
Jun  3 13:14:14 mothership user: hello

但在容器中使用完全相同的命令时,/var/log/syslog(或任何其他日志文件)中不会附加任何内容。

精度:
- rsyslog 是安装在主机和容器中的唯一 syslogger
- 所有服务似乎都通过容器中的 rsyslog 正确记录
- 容器的配置:

$ sudo cat /var/lib/lxc/cont/config
[sudo] password for user: 
# Template used to create this container: /usr/share/lxc/templates/lxc-archlinux
# Parameters passed to the template:
# For additional config options, please look at lxc.container.conf(5)

lxc.rootfs = /var/lib/lxc/cont/rootfs
lxc.utsname = cont
lxc.arch = i686
lxc.include = /usr/share/lxc/config/archlinux.common.conf

# tun & ttyUSB0
lxc.cgroup.devices.allow = c 10:200 rwm
lxc.cgroup.devices.allow = c 188:0 rwm
lxc.autodev = 1
lxc.pts = 1024
lxc.kmsg = 0
lxc.hook.autodev=/var/lib/lxc/cont/autodev

# network
lxc.network.type = veth
lxc.network.link = br0
lxc.network.flags = up
lxc.network.ipv4 = 10.8.10.11/24
lxc.network.ipv4.gateway = 10.8.10.10
lxc.network.name = eth0

# shares
lxc.mount.entry = /mnt/share mnt/share none bind 0 0
lxc.mount.entry = /var/cache/pacman/pkg var/cache/pacman/pkg none bind 0 0

相关内容