LINUX.ORG.RU

Fedora 21 rsyslogd: activation of module imuxsock failed

 , ,


0

1

Здравствуйте, други! =)

Настраивал на локальной машинке rsyslog сервер для принятия логов с pfsense и столкнулся с проблемой: rsyslog конфликтует с systemd, - не может подключиться к сокету по адресу /dev/log.

Фрагмент конфигурации rsyslog.conf:

# rsyslog configuration file

# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

#### MODULES ####

$ModLoad imuxsock # provides support for local system logging (logger command)
# $ModLoad immark
$ModLoad imtcp
$ModLoad imklog

$InputTCPServerRun 1528

Порт 1528 открыт в iptables и прописан в SELinux чз semanage. При старте выдаёт следующее (/var/log/messages):

Jun 19 11:08:19 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.10" x-pid="5674" x-info="http://www.rsyslog.com"] exiting on signal 15.
Jun 19 11:08:19 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.10" x-pid="5710" x-info="http://www.rsyslog.com"] start
Jun 19 11:08:19 localhost rsyslogd: cannot create '/dev/log': Address already in use
Jun 19 11:08:19 localhost rsyslogd: imuxsock does not run because we could not aquire any socket 
Jun 19 11:08:19 localhost rsyslogd-3000: activation of module imuxsock failed

Прощупывая /dev/log, ll /dev/log выдаёт

lrwxrwxrwx. 1 root root 28 Jun 19  2015 /dev/log -> /run/systemd/journal/dev-log

Где /run/systemd/journal/dev-log занята следующими процессами lsof /run/systemd/journal/dev-log :

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete.

COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
systemd     1 root   34u  unix 0xffff88003685dc00      0t0 2268 /run/systemd/journal/dev-log
systemd-j 493 root    5u  unix 0xffff88003685dc00      0t0 2268 /run/systemd/journal/dev-log

Кто с таким сталкивался и как это лечить? Перерыл гугл: ничего толкового не нашёл.

Система:

LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:	Fedora
Description:	Fedora release 21 (Twenty One)
Release:	21
Codename:	TwentyOne

Linux localhost.localdomain 4.0.4-202.fc21.x86_64 #1 SMP Wed May 27 22:28:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Не вопрос. В файле /etc/systemd/journald.conf раскомментируй и включи опцию ForwardToSyslog=yes.

Отключи создание сокета командой sudo systemctl disable systemd-journald-dev-log.socket и выключи его: sudo systemctl stop systemd-journald-dev-log.socket

Симлинк /dev/log грохни вручную, если придется.

Перезапусти journald командой sudo systemctl restart systemd-journald.service

Потом запускай rsyslogd.

alex_the_v ★★★ ()
Последнее исправление: alex_the_v (всего исправлений: 1)
Ответ на: комментарий от alex_the_v

Не-не.

Из /dev/log читает journald. А пишет (при ForwardToSyslog=yes) в /run/systemd/journal/syslog.

Поэтому в journald нужно только включить ForwardToSyslog=, а rsyslog заставить читать не из /dev/log, а из /run/systemd/journal/syslog.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Впрочем, ТС, если у тебя rsyslog только для принятия логов с удалённой машины, а локальные логи тебе там не нужны — проще выключить в rsyslog'е модуль imuxsock.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Ой, блин. Ты прав, совсем я с ума схожу. Все верно, надо включить в журнале ForwardToSyslog, и рсислог натравить на /run/systemd/journal/syslog.

alex_the_v ★★★ ()
Ответ на: комментарий от intelfx

Удалось заставить заработать. Пришлось отключить сначала сокеты:

systemctl stop systemd-journald-dev-log.socket
systemctl stop systemd-journald.socket
Перенаправить журнал на другой сокет:
/etc/systemd/journald.conf
=>
ForwardToSyslog=yes
Перезапустить всё. Теперь логи пишутся. Всё на первый взгляд работает=)

rockitin ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.