Предотвратить запуск rsyslog при отправке сообщений удаленных хостов на локальный / var / log / syslog

Я использую rsyslog для сохранения журналов с удаленных хостов на сервер следующим образом:

Сервер:

# Logfile for each host $template DynaFile,"/var/log/rsyslog/%HOSTNAME%.log" *.* -?DynaFile 

Клиенты:

 *.* @servername 

Это создает файлы журналов для каждого клиентского хоста на серверах /var/log/rsyslog/ но он также регистрирует каждое сообщение на серверах /var/log/syslog . Таким образом, он действительно раздувается. Как я могу предотвратить это, чтобы /var/log/syslog содержал только сообщения с самого сервера?

  • Как подавить сообщения о переполнении
  • файлы журналов в CentOS 7
  • уменьшить уровень детализации журнала загрузки ядра
  • Как добавить дату в файл журнала до его имени?
  • Rsyslog не отправляет журналы на сервер logstash на порт
  • как показать цвета в syslog
  • Узнайте, что вызывает случайные перезагрузки, если / var / log / syslog пуст
  • Можно ли изменить приоритет сообщения в rsyslog?
  • 2 Solutions collect form web for “Предотвратить запуск rsyslog при отправке сообщений удаленных хостов на локальный / var / log / syslog”

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

     $template PerHostLog,"/var/log/net-hosts/%fromhost-ip%/%fromhost-ip%.log" $template RemoteHostFileFormat,"%TIMESTAMP% %fromhost-ip% %syslogfacility-text% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::space-cc,drop-last-lf%\n” :inputname, isequal, "imudp" ?PerHostLog;RemoteHostFileFormat :fromhost-ip , !isequal , "127.0.0.1" stop 

    Вышеуказанные 4 строки находятся в верхней части моего файла /etc/rsyslog.conf

    В настоящее время я просматриваю 2 файла журнала:
    /var/log/net-hosts/10.1.1.1
    и / var / log / syslog

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

    Вот что работает для меня:

     ## For accepting syslog info from remote hosts $template TempAuth, "/var/log/infosys/%HOSTNAME%/%PROGRAMNAME%.log" $template TempMsg, "/var/log/infosys/%HOSTNAME%/%PROGRAMNAME%.log" if ($fromhost-ip != "127.0.0.1" ) then ?TempAuth & ~ if ($fromhost-ip != "127.0.0.1" ) then ?TempMsg & ~ 
    Interesting Posts

    Если имя папки равно «somestring», переместите все файлы в папке на один уровень вверх

    Нужно ли запускать SSH-демона, если я использую Chef локально?

    Как обеспечить, чтобы только один экземпляр моего сценария ksh выполнялся на Solaris с помощью NFS?

    Почему бы не использовать «что»? Что использовать тогда?

    Для чего используются сопоставляемые символы и классы эквивалентности?

    Получить список подкаталогов, содержащих файл, соответствующий строке

    Невозможно правильно использовать Powerline с xterm

    Настройка группового доступа по локальной сети

    Клей FFMPEG MPEG TS

    принимающая команда как параметр в bash

    добавление консоли в GDM

    Как вы меняете мой tmux-дисплей? Его застряли в меньшем окне

    Изменение существующего файла непосредственно для замены «foo» на «bar» ТОЛЬКО для строк, содержащих «baz»,

    Autofs не устанавливает ресурсы при запуске

    Доступна только системная группа SNMPD!

    Linux и Unix - лучшая ОС в мире.