Назад | Перейти на главную страницу

Преобразование в новый формат конфигурации rsyslog v7

Я пытаюсь настроить клиент rsyslog (запущенный rsyslog 7.4.8), который будет регистрироваться на двух удаленных серверах через две разные конфигурации SSL. Для этого, похоже, мне нужно перейти с устаревшего формата файла конфигурации на новый формат на основе действий.

Если у меня есть следующее для /etc/rsyslog.conf, тогда все работает нормально. Удаленный сервер получает сообщения, а netstat показывает установленное TCP-соединение от клиента к удаленному серверу:

$ModLoad imuxsock.so
$ModLoad imklog.so

$DefaultNetstreamDriver gtls
$ActionSendStreamDriverAuthMode anon
$ActionSendStreamDriverMode 1

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/local-cert.pem
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/local-key.pem

*.* @@10.50.59.241:6514

Из того, что я могу почерпнуть из документации rsyslog, я смогу сделать что-то в этом роде:

$ModLoad imuxsock.so
$ModLoad imklog.so

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/local-cert.pem
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/local-key.pem

*.* action (type="omfwd" protocol="tcp" Target="10.50.59.241" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="anon")

Но эта вторая конфигурация не работает. rsyslogd успешно перезапускается, поэтому я знаю, что в этой конфигурации нет синтаксической ошибки. Но netstat никогда не показывает подключение даже к удаленному серверу системного журнала. Что мне не хватает?

Ну, после кучи тряски головой я понял это сам. Во-первых, в некоторых версиях rsyslog есть ошибка, которая не позволяет этому работать (вы никогда не увидите соединение, установленное с одним или несколькими целевыми серверами), поэтому убедитесь, что вы используете версию 7.6 или более позднюю версию rsyslog.

Убедитесь, что в вашем файле CA есть все CA, необходимые для всех перечисленных в нем целей. Порядок не важен. Тогда ваш файл conf должен выглядеть примерно так:

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem

*.* action(type="omfwd" protocol="tcp" Target="10.50.59.241" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="anon")

*.* action(type="omfwd" Protocol="tcp" Target="some.other.host.com" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.some.other.host.com")