Как отправить только определенные файлы на удаленный сервер с помощью 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