Поместить удаленный системный журнал в свой собственный файл
У меня есть томатный маршрутизатор, и он имеет возможность отправлять свои журналы на внешний сервер. 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 имя, и вы должны легко найти его.