Я использую VPS (Ubuntu 14.04.2 LTS, Kernel 3.13.0-042stab094.8, rsyslog 7.4.4-1ubuntu2.5), и kernel.log остается пустым только с этой строкой:
rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
На сервере были предварительно настроены syslogd и klogd из busybox. Я деинсталлировал их и установил rsyslog с помощью apt-get. Все вроде нормально работает. У меня есть записи во всех остальных файлах журнала.
Я не уверен, связано ли это с этой ошибкой: https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/1366829
Я думаю, что VPS - это не виртуальная машина, а контейнер. Непривилегированные контейнеры не имеют доступа к журналу ядра по соображениям безопасности.
Если вам не нужен или у вас недостаточный доступ к системе для чтения журнала ядра, вы можете удалить imklog
модуль (который пытается его прочитать)
-module(load="imklog") # provides kernel logging support
+# module(load="imklog") # provides kernel logging support
Этот ответ для той же проблемы в Docker предлагает следующую команду, которую можно включить в сценарии
sed -i '/imklog/s/^/#/' /etc/rsyslog.conf
Чтение из /proc/kmsg
требуются права суперпользователя. Вы запустили rsyslogd как root?
Если да, запустите команду ls -al /proc/kmsg
и вставьте сюда вывод.