kernel.log 保持为空:“rsyslogd:imklog:无法打开内核日志(/proc/kmsg):操作不允许。”

kernel.log 保持为空:“rsyslogd:imklog:无法打开内核日志(/proc/kmsg):操作不允许。”

我在 VPS(Ubuntu 14.04.2 LTS、内核 3.13.0-042stab094.8、rsyslog 7.4.4-1ubuntu2.5)上,kernel.log 保持为空,只有这一行:

rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.

服务器已预先配置了 busybox 中的 syslogd 和 klogd。我卸载了它们,并使用 apt-get 安装了 rsyslog。一切似乎都运行正常。我在所有其他日志文件中都有条目。

我不确定这是否与这个错误有关:https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/1366829

答案1

我认为 VPS 不是 VM,而是容器。出于安全原因,非特权共容器无权访问内核日志。

答案2

如果您不需要或者没有足够的系统访问权限来读取内核日志,您可以删除该imklog模块(即尝试读取它的模块)

-module(load="imklog")   # provides kernel logging support
+# module(load="imklog")   # provides kernel logging support

这个答案对于 Docker 下的相同问题,建议使用以下命令,该命令可以合并到脚本中

sed -i '/imklog/s/^/#/' /etc/rsyslog.conf

答案3

读取/proc/kmsg需要超级用户权限。您是否以 root 身份启动了 rsyslogd?

如果是,请运行命令ls -al /proc/kmsg并将输出粘贴到这里。

相关内容