Я использую rsyslog для сохранения журналов с удаленных хостов на сервер следующим образом:
Сервер:
# Logfile for each host
$template DynaFile,"/var/log/rsyslog/%HOSTNAME%.log"
*.* -?DynaFile
Клиенты:
*.* @servername
Это создает файлы журнала для каждого клиентского хоста на серверах, /var/log/rsyslog/
но также регистрирует каждое сообщение на серверах /var/log/syslog
. Так что это действительно раздутый. Как я могу предотвратить это, чтобы он /var/log/syslog
содержал только сообщения с самого сервера?
/var/log/syslog
Ответы:
Вот что работает для меня:
источник
TempAuth
иTempMsg
?Я много работал над этим и думаю, что нашел решение. Я призываю других попробовать это и искать потенциально неблагоприятные последствия. Я предлагаю, чтобы это было реализовано на лабораторных / тестовых и некритических машинах в первую очередь
Вышеуказанные 4 строки находятся в самом верхнем разделе моего файла /etc/rsyslog.conf
В настоящее время я наблюдаю 2 файла журнала:
/var/log/net-hosts/10.1.1.1
и / var / log / syslog,
поскольку я наблюдаю оба, я вижу, что журналы заполняются в файле удаленного хоста, но не в системном журнале. , Я перезапустил apache и увидел записи в системном журнале для этой задачи.
источник
Вы должны убедиться, что ваши новые правила оцениваются до того, как вы войдете в / var / log / syslog.
Например, в Ubuntu Trusty (rsyslog 7.4.4) /etc/rsyslog.conf содержит
$IncludeConfig /etc/rsyslog.d/*.conf
загрузку правил по умолчанию
/etc/rsyslog.d/50-default.conf
, в том числе для / var / log / syslog.В этом случае вы можете добавить новый файл для загрузки перед этим, например
00-remote.conf
. Для полноты, вот его содержание для системы, которой я управляю:источник