Рейтинг:0

Проблема с rsyslog, создающим несколько файлов журнала с удаленного коммутатора cisco

флаг cn

Итак, вот наша установка

Сервер: сервер rsyslog - CentOS 7

Клиент: Cisco Catalyst C6880-X-LE

/etc/rsyslog.conf с сервера CentOS 7:

$ModLoad imuxsock # обеспечивает поддержку ведения журнала локальной системы (например, с помощью команды logger)
$ModLoad imjournal # предоставляет доступ к журналу systemd

$template TmplAuth, "/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log"
$templateTmplMsg, "/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log"
authpriv.* ?TmplAuth
*.info;mail.none;authpriv.none;cron.none ?TmplMsg
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalВход в систему
$IMJournalStateФайл imjournal.state
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
почта.* -/var/журнал/журнал почты
хрон.* /var/журнал/хрон
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log

Почему-то в /var/журнал/client_logs папке журналы Cisco создают новый файл .log каждый раз, когда на коммутаторе создается новое сообщение журнала. Это явно не идеально, и я хочу, чтобы rsyslog поместил все журналы в один файл, и я планирую позволить logrotate создавать новый файл журнала каждый день.

Вот пример того, что я вижу в /var/журнал/client_logs каталог

-rw------- 1 root root 184 13 октября 14:30 156598.log
-rw------- 1 root root 164 13 октября 14:30 156599.log
-rw------- 1 root root 186 13 октября 14:30 156600.log
-rw------- 1 root root 162 13 октября 14:30 156601.log
-rw------- 1 root root 184 13 октября 14:30 156602.log
-rw------- 1 root root 164 13 окт 14:35 156603.log
-rw------- 1 root root 186 13 окт 14:35 156604.log
-rw------- 1 root root 162 13 октября 14:35 156605.log
-rw------- 1 root root 184 13 окт 14:35 156606.log
-rw------- 1 root root 164 13 окт 14:35 156607.log
-rw------- 1 root root 186 13 окт 14:35 156608.log
-rw------- 1 root root 162 13 октября 14:35 156609.log
-rw------- 1 root root 184 13 окт 14:35 156610.log
-rw------- 1 root root 162 13 октября 14:39 156611.log
-rw------- 1 root root 164 13 октября 14:41 156612.log
-rw------- 1 root root 186 13 окт 14:41 156613.log
-rw------- 1 root root 162 13 октября 14:41 156614.log
-rw------- 1 root root 184 13 окт 14:41 156615.log

И это продолжается вечно, учитывая, что для каждого нового сообщения, отправляемого с коммутатора Cisco, создается журнал .log. Вот пример содержимого одного из этих лог-файлов

2021-10-13T14:41:10.866435-07:00 X 156613: X-Switch: .13 октября 13:40:44 PST: %LINEPROTO-SW1-5-UPDOWN: линейный протокол на интерфейсе GigabitEthernet195/1/0/11 , изменил состояние на вниз

Я не уверен, связана ли проблема с конфигурацией коммутатора Cisco или моей конфигурацией rsyslog, но я делал это раньше, и у меня никогда не было проблем с созданием новых файлов .log для каждого отдельного сообщения, отправляемого на сервер.

Вот конфиг на стороне коммутатора Cisco

Switch1#показ запуска | включить ведение журнала
регистрация информации о пользователе
логирование перезагрузка отладка
регистрация состояния ссылки на событие по умолчанию
регистрация имени хоста origin-id
хост регистрации 10.1.1.1
 ведение журнала синхронно
 ведение журнала синхронно

К вашему сведению узел регистрации оператор — это IP-адрес сервера rsyslog CentOS 7. Все остальные журналы, захваченные с других хостов, в порядке и не создают новые файлы .log для каждого полученного сообщения, но другие системы, отправляющие журналы, не являются коммутаторами Cisco, все они представляют собой различные разновидности Linux (в первую очередь CentOS и RHEL).

Любая идея, почему rsyslog создает новые файлы .log для каждого сообщения, которое он получает от этого коммутатора Cisco Catalyst?

Рейтинг:1
флаг vn

Пример сообщения следующий:

2021-10-13T14:41:10.866435-07:00 X 156613: X-Switch: .13 октября 13:40:44 PST: %LINEPROTO-SW1-5-UPDOWN: линейный протокол на интерфейсе GigabitEthernet195/1/0/11 , изменил состояние на вниз

Кажется, PROGRAMNAME указывает на число, которое увеличивается на единицу с каждым сообщением, в данном конкретном случае 156613:

$template TmplAuth, "/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log"

Итак, конфигурация выше выглядит правильно. Основная причина, вероятно, PROGRAMNAME, которая увеличивается в сообщении.

Richie086 avatar
флаг cn
Очень хорошо! это помогло. Добро пожаловать в Stack Exchange, кстати!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.