Назад | Перейти на главную страницу

Правильная конфигурация rsyslog

Я пытаюсь настроить сервер системного журнала, но, похоже, он не работает должным образом. Мой клиент, похоже, не подключается к нему.

Сервер Ubuntu 12.04 (192.168.1.10)

Клиент Ubuntu 14.04 (192.168.1.26)

Конфигурация сервера /etc/rsyslog.conf:

$ModLoad imuxsock 
$ModLoad imklog  
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$RepeatedMsgReduction on
$FileOwner syslog
$FileGroup adm

$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

$WorkDirectory /var/spool/rsyslog

$IncludeConfig /etc/rsyslog.d/*.conf

$template TmplAuth, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"

Я сделал команду chown syslog: syslog в каталоге и подкаталогах / var / log.

Конфигурация клиента /etc/rsyslog.conf:

Добавил это в начало файла conf

*.* @192.168.1.10:514

Перезапущен демон rsyslog на обоих хостах, однако журналы, похоже, не заполняются на сервере в / var / logs

Есть мысли о том, что я делаю неправильно?

В моем случае (Ubuntu 12.04) с аналогичной конфигурацией каталоги также не создавались. События регистрировались в существующих файлах, но без тегов имени хоста, поэтому не было очевидно, что это (почти) работает.

Я предлагаю:

  1. убедитесь, что трафик поступает: на сервере попробуйте:

    sudo tcpdump tcp порт 514

  2. Настройте клиент для отправки правильного имени хоста. Добавьте эту строку в /etc/rsyslog.conf:

    $ LocalHostName [клиент]

  3. Убедитесь, что записи журнала от [client] появляются в файлах журнала [server].

  4. В файле конфигурации вашего сервера определен шаблон с именем TmplAuth, но его никто не использует. Добавьте эту строку сразу после нее:

    *. *? TmplAuth

Конечно, всякий раз, когда вы меняете файл конфигурации, вам нужно перезапустить rsyslog на этом компьютере.

После вышесказанного мой TmplAuth применялся ко всем журналам (включая локальные): были созданы каталоги и файл журнала для каждой программы. Это не совсем то, что мне было нужно, но это большой шаг вперед. Теперь я смотрю на изменение шаблона вместо того, чтобы ломать голову над тем, почему он не работает.

Я не могу комментировать, поэтому я добавляю новый ответ: Скорее всего, проблема в том, как сказал Zaq, что TmplAuth должен был использоваться для записи динамического имени файла. Эта часть фактически отсутствует.

Помимо этого, мы (проект rsyslog) часто видели, что такие проблемы были вызваны

  • Настройки AppArmor (маловероятно)
  • Конфигурация межсетевого экрана (вероятно)

Так что вы определенно захотите взглянуть на это.