Umieszczenie zdalnego sysloga we własnym pliku

2

Mam router Tomato i ma możliwość, aby jego logi trafiały na zewnętrzny serwer. syslog jest to oczywisty wybór. Włączyłem więc zdalne logowanie na moim serwerze linuxowym syslogd ( syslogd -r ) i widzę wszystkie logi /var/log/syslog. Chcę zrobić wszystko, co pochodzi z adresu IP mojego routera (10.0.0.1) i przekierować go do własnego pliku /var/log/tomato aby uniknąć zanieczyszczenia mojego dziennika systemowego dziennikami zewnętrznymi.

Nie mogę znaleźć żadnych przykładów kogoś, kto to robi. Moim jedynym rozwiązaniem jest zebranie skryptu, który usunie wszystkie linie /var/log/syslog z 10.0.0.1 w nim i wprowadza linię /var/log/tomato i uruchom skrypt jako zadanie crona, ale wydaje się to niepotrzebnie bałagan.

Musi być lepszy sposób.

Edytować:

Jeśli ktoś nie wie, że istnieje rozwiązanie, jestem tego pewien w 95% syslog nie obsługuje tego po przeczytaniu bardziej szczegółowej strony podręcznika. Muszę więc przejść na syslog-ng lub zrób szalony skrypt, który działa z cronem.

Reti
źródło

Odpowiedzi:

1

Korzystamy z syslog-ng w moim biurze i rzeczywiście można segregować dane wyjściowe syslog na podstawie różnych rodzajów kryteriów dla różnych plików wyjściowych. W syslog-ng zasadniczo definiujesz źródła, kryteria i cel osobno. Następnie tworzysz regułę, która będzie sklejać różne komponenty razem, aby syslog-ng wykonał rzeczywistą regułę.

Widzę, że syslog-ng wydaje się być standardem def acto. Korzystamy również z czytnika syslog opartego na PHP, który działa w sieci za pomocą Apache. Następnie możesz odczytać te dzienniki, używając własnych kryteriów, aby przejrzeć zawartość dziennika w sposób, który jest prawdopodobnie łatwiejszy niż słynne polecenie „ogon-f”. Jest to znane jako PHPlogcon. Google nazwę i łatwo go znaleźć.

jfmessier
źródło
1

Użyj iptables, aby przekierować ruch z routera IP do innego portu na hoście linuxowym.

Na tym innym porcie (tj. 5514) uruchom inną instancję serwera syslog i napisz . do wybranego pliku.

damir
źródło