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

Удаленное ведение журнала с помощью Syslogd, могу ли я изменить имя хоста?

Я использую ddwrt v24-sp2 на трех маршрутизаторах WRT54GL. Все эти маршрутизаторы отправляют информацию о своем системном журнале на один и тот же удаленный сервер с помощью syslogd.

Проблема в том, что в журналах имя хоста будет меняться между LAN IP и 127.0.0.1.

Это затрудняет определение того, какое устройство что делает, когда у меня есть несколько событий, перечисленных как localhost, и делает невозможным выполнение сценариев событий, которые происходят при получении определенных сообщений системного журнала.

Кто-нибудь знает, как я могу различить, какое сообщение приходит с какого хоста? Есть ли какой-то вариант, который я не видел для тега или дополнительной информации в сообщении. Могу ли я заставить хост отправлять свое имя хоста с каждым сообщением?

Вот пример вывода системного журнала:

28.06.2010 11:43:57 User.Info 10.255.255.2 28 июня 17:43:58:> Подключение к *.*.*.*

28.06.2010 11:43:54 User.Info 127.0.0.1 28 июня 17:43:54:> Подключение к *.*.*.*

06-28-2010 11:43:52 Daemon.Info 10.255.255.1 28 июня 17:43:53> chillispot [428]: chilli.c: 1088: Повторное чтение файла конфигурации и поиск DNS

06-28-2010 11:43:51 Daemon.Info 127.0.0.1 28 июня 17:43:52> chillispot [623]: chilli.c: 1088: Повторное чтение файла конфигурации и поиск DNS

06-28-2010 11:43:51 Daemon.Info 10.255.255.3 28 июня 17:43:51> chillispot [4185]: chilli.c: 1088: Повторное чтение файла конфигурации и поиск DNS

Спасибо

Крис

Попробуйте использовать syslog-ng. Я столкнулся с рядом проблем с syslogd на openwrt. Я подозреваю, что вы сталкиваетесь с аналогичными проблемами. Смотрите мою документацию на использование syslog-ng с openwrt. Мой сервер журналов - это Ubuntu с rsyslogd.

В качестве альтернативы вы должны иметь возможность вносить необходимые изменения на сервере ведения журнала, используя syslog-ng, чтобы переписать сообщение журнала на основе сервера-отправителя.

Передача сообщения системного журнала в netcat добавит имя хоста.

Простой способ - передать сообщения по конвейеру с помощью netcat (nc) в файле syslog.conf следующим образом:

*. * "ТАБЛИЦА" | nc RemoteLogServer -u 514 -w 1 "

Перед символом вертикальной черты необходимо вставить символ TAB.

Это известная проблема с syslogd. Имена хостов не сохраняются для хостов.

http://novosial.org/logging/syslogd-problems/

Как было предложено, попробуйте использовать syslog-ng.