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

981
Reti

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

2 ответа на вопрос

1
jfmessier

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

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

1
damir

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

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

Похожие вопросы