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

мой центральный сервер системного журнала, кажется, отбрасывает удаленные сообщения

Я добавил удаленную опцию в / etc / sysconfig / syslog SYSLOGD_OPTIONS = "- m0 -r" и перезапустил, и он определенно прослушивает порт syslog;

# netstat -lnu | grep 514
udp        0      0 0.0.0.0:514                 0.0.0.0:*  

Я даже могу перехватить входящий системный журнал с помощью tcpdump dst-порта 514;

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
19:57:34.626128 IP 07701.com.syslog > i1106.com.syslog: SYSLOG user.critical, length: 75
19:57:56.254679 IP 07701.com.syslog > i1106.com.syslog: SYSLOG local5.critical, length: 76

Однако предупреждения системного журнала никогда не попадают в файл журнала, tail -f / var / log / message / var / log / remote

в верхней части имеющейся у меня машины syslogger;

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
*.*                                     /var/log/remote.log

файл был создан и в нем есть локальные записи.

Есть предложения по поводу того, что я делаю неправильно?

РЕДАКТИРОВАТЬ: кажется, что остановка брандмауэра позволяет сообщениям проходить, поэтому я явно что-то странное с конфигурацией iptables, которая блокирует эти сообщения;

Мне неясно, настроили ли вы системный журнал на всех своих клиентах или нет. Кажется, что ваш tcpdump показывает входящий трафик системного журнала, но вы можете проверить, что вы не просто видите трафик от одного удаленного клиента системного журнала. Убедитесь, что Syslogd также настроен на каждом клиентском компьютере. Вам нужно добавить строку, которая выглядит примерно так, где syslog.example.org это ваш сервер системного журнала:

# Log all messages to central syslog server
*.*     @syslog.example.org

Чтобы убедиться, что это работает, используйте регистратор (1) утилита. Я запускаю такую ​​команду на всех своих машинах в одном окне, часто в цикле вроде for HOST in ALLOFMYHOSTS; do ssh $HOST 'logger'.....

logger -t stefantest stefantest1

Затем в отдельном окне, подключенном к системному журналу, я делаю tail -f /var/log/YOURLOGFILE |grep stefantest. Это подтвердит, работает ли сам syslog с каждого хоста или нет. Затем идите оттуда.