Syslog не записывает в файл логи, полученные по TCP

Я пытаюсь настроить централизованный сервер rsyslog на CentOS 6.5 для маршрутизаторов и коммутаторов Cisco. На устройствах Cisco я установил правильную дату / время и включил временные метки, зарегистрировался на сервере через TCP через порт 514, установил средство local4 для маршрутизаторов и local5 для коммутаторов, а также отлаживаю отладку для тестирования.

В /etc/rsyslog.conf я включил TCP и установил local4.* Для входа в /var/log/cisco/routers.log и local5.* Для входа в /var/log/cisco/switches.log.

Я проверил SELinux, и он не сообщил о каких-либо нарушениях. Я проверил с включенным брандмауэром (пропущен порт 514) и отключен iptables. Я вижу, что соединения установлены, и tcpdump показывает, что пакеты syslog поступают на сервер, но syslog ничего не записывает в файлы. Он также ничего не записывает в / var / log / messages.

Когда я тестировал с UDP, он прекрасно работает. И это было без изменения $AllowedSender. Есть идеи, в чем может быть проблема?

3 ответа

Похоже, вам нужно настроить часть конфигурации в $imtcp.

module(load="imtcp" MaxSessions="500")
input(type="imtcp" port="514")

Добавьте это в начало rsyslog.conf, затем перезапустите службу.

В зависимости от механизма cisco и используемой версии IOS, может быть невозможна фактическая передача с устройства через TCP на сервер системного журнала.

Короче говоря: используйте UDP. Если это не вариант, этот технический документ может помочь вам в деталях, как вы могли бы настроить ведение журнала независимо.

https://www.cisco.com/c/en/us/products/collateral/services/high-availability/white_paper_c11-557812.html

Краткая, частично соответствующая цитата из статьи:

"Одним из методов является развертывание такого инструмента, как syslog-ng, реализация с открытым исходным кодом протокола Syslog для UNIX (Solaris) и UNIX-подобных систем (Linux). Он расширяет оригинальную модель демона syslog за счет контентной фильтрации, расширенной фильтрации возможности и гибкие параметры конфигурации, а также добавляет в Syslog важные функции, такие как использование TCP для транспортного протокола между серверами syslog-ng. (Многие производители оборудования не поддерживают транспорт TCP в настоящее время ".

(обратите внимание, что документ с 2009 года)

Поддержка TCP...[доступна в] Выпуски программного обеспечения Cisco IOS после 12,4 (11) S, 12.4(11)T, 12.2(33)SRB, 12.2(33)SB и 12.2(33)SXI Cisco IOS XE.

Проверьте, действительно ли rsyslogd прослушивает порт TCP, используя netstat -tplneВозможно, вы не включили сокет TCP должным образом. Вы также запускаете rsyslog, чтобы выяснить, что происходит (-d)

Другие вопросы по тегам