Как отправить только определенные файлы на удаленный сервер с помощью rsyslog

Я новичок в rsyslog. У меня есть несколько серверов (rsyslog-серверов), отправляющих syslog на удаленный сервер (syslog-ng server). Прямо сейчас я отправляю все на удаленный сервер. Я хочу отфильтровать и отправить журналы из определенных файлов на удаленный сервер.

10-custom.conf - это пользовательский конфигурационный файл, который я использую

#Forward specific logs to remote server
module(load="imfile")

input(type="imfile"
      file="/var/log/tomcat8/bar.log"
      Tag="bar:")

input(type="imfile"
      file="/var/log/tomcat8/foo.log"
      Tag="foo:")

input(type="imfile"
      file="/var/log/dpkg.log"
      Tag="dpkg:")

input(type="imfile"
      file="/var/log/syslog"
      Tag="syslog:")

input(type="imfile"
      file="/var/log/auth.log"
      Tag="auth:")

input(type="imfile"
      file="/var/log/kern.log"
      Tag="kern:")


#if $Tag == "catalina:" then @@remoteserver:port
:syslogtag, isequal, "catalina:" @@remoteserver:port
& stop

Я пытаюсь отфильтровать на основе тегов и отправить его на удаленный сервер. не мог заставить это работать.

Какой лучший способ получить эту настройку?

Заранее спасибо!

2 ответа

В следующем примере отслеживаются два файла. Если вам нужен только один, удалите второй. Если нужно больше, добавляйте по образцу ;). Этот код должен быть помещен в /etc/rsyslog.conf (или туда, куда ваш дистрибутив помещает файлы конфигурации rsyslog). Обратите внимание, что необходимо указывать только те команды, которые действительно необходимы. Второй файл использует меньше команд и вместо этого использует значения по умолчанию.

      module(load="imfile" PollingInterval="10") #needs to be done just once

# File 1
input(type="imfile"
      File="/path/to/file1"
      Tag="tag1"
      Severity="error"
      Facility="local7")

# File 2
input(type="imfile"
      File="/path/to/file2"
      Tag="tag2")

# ... and so on ... #

Вы можете разместить операторы поверх rsyslog.conf, как упомянуто здесь:

https://www.rsyslog.com/discarding-unwanted-messages/

Например, если вы хотите отправлять на удаленный сервер журналов только сообщения определенного объекта, например, все связанные почтовые сообщения независимо от уровня приоритета, добавьте следующую строку в файл конфигурации rsyslog:

mail.* @192.168.10.254:514
Другие вопросы по тегам