Поместить удаленный системный журнал в свой собственный файл

У меня есть томатный маршрутизатор, и он имеет возможность отправлять свои журналы на внешний сервер. syslog очевидный выбор для этого. Поэтому я включил удаленную регистрацию на моем сервере Linux syslogd (syslogd -r) и я могу видеть все журналы в /var/log/syslog, То, что я хочу сделать, это взять все, что исходит от IP-адреса моего маршрутизатора (10.0.0.1) и перенаправить его в свой собственный файл, как /var/log/tomato чтобы не загрязнять мой системный журнал внешними журналами.

Я не могу найти никаких примеров того, как кто-то делает это. Мое единственное решение состоит в том, чтобы собрать сценарий, который удаляет любую строку в /var/log/syslog с 10.0.0.1 в нем и ставит черту в /var/log/tomato и запустить скрипт как задание cron, но это кажется излишне грязным.

Должен быть лучший способ.

Редактировать:

Если кто-то не знает, что есть решение, я на 95% уверен, что syslog не поддерживает это после прочтения более подробного руководства. Поэтому мне нужно перейти на syslog-ng или сделайте сумасшедший скрипт, который работает с cron.

2 ответа

Используйте iptables для перенаправления трафика с вашего маршрутизатора ip на другой порт вашего хоста linux.

На этом другом порту (например, 5514) запустите другой экземпляр сервера системного журнала и запишите . в файл по вашему выбору.

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

Для того, что я вижу, syslog-ng кажется стандартом def acto. Мы также используем программу чтения системного журнала на основе PHP, которая работает через Интернет с использованием Apache. Затем вы можете прочитать эти системные журналы, используя ваши собственные критерии для просмотра содержимого журнала таким способом, который, возможно, проще, чем знаменитая команда "tail -f". Это известно как PHPlogcon. Google имя, и вы должны легко найти его.

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