Предотвратить запуск 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 содержал только сообщения с самого сервера?

  • Можно ли изменить приоритет сообщения в rsyslog?
  • rsyslog использует разные шаблоны для хранения журналов
  • rsyslog: Как я могу гарантировать, что rsyslog предоставляет сообщение об ошибке / отладке всякий раз, когда сообщения отбрасываются?
  • обучение выходным пользовательским rsyslogs
  • rsyslogd съел 20 + ГБ (!) ОЗУ - какие доказательства собирать?
  • Как установить ограничение nofile на rsyslog с выскочкой?
  • История Loggin для syslog
  • Странные строки в папке / var / log / message машины Centos
  • 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

    какое имя устройства я должен предоставить в snd_pcm_open, кроме "default"

    Замена агента SSH в оболочках GNOME, Wayland и SystemD

    Как я могу построить fdupes из источника на Ubuntu?

    OpenBSD: 32 бит или 64 бит

    Как выйти из диспетчера окон на текущем дисплее X?

    Как я могу перебирать возможные доработки?

    В чем разница между режимами I2C и PS2?

    Различные сайты на разных интерфейсах с использованием агрегации ссылок

    OpenSSL Package Rebuild CentOS 6.4

    Показывать вывод только в том случае, если оба слова совпадают с использованием grep

    Как я могу разрешить пользователю перемещаться по каталогу, но не позволять им подтвердить существование каких-либо других файлов / каталогов

    Установка доморощенного – опасные изменения разрешения?

    Почему я не могу использовать renice для повышения «хорошего значения» процесса?

    Выполнять удаленные команды, полностью отсоединяясь от ssh-соединения

    Отобразить имя процесса с помощью ps

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