Правильная настройка 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

Есть мысли о том, что я могу делать не так?

2 ответа

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

Я предлагаю:

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

    sudo tcpdump tcp port 514

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

    $ LocalHostName [клиент]

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

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

    *. *? TmplAuth

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

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

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

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

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

Так что вы определенно хотите посмотреть на это.

Другие вопросы по тегам