Witam. Chciałbym stworzyć analizator logów systemowych, który wyświetli mi kilka interesujących informacji takich jak np. ile było zakończonych błędem prób logowań przez ssh lub ftp i tym podobne. Pytanie brzmi jak przetwarzać plik z logami, który waży np. 10MB? Myślałem nad filtrowaniem logów wykorzystując komendę
grep i zliczanie linii. I tak dla każdej reguły. Czyli np. aby pokazać poprawne i błędne logowania do ssh to byłyby wykonywane dwa polecenia
Kod
cat plik.log | grep ssh | grep Failed -c
cat plik.log | grep ssh | grep Accepted -c
Co o takim rozwiązaniu myślicie? Czy jest jakaś lepsza metoda na filtrowanie tak dużych plików za pomocą PHP lub z wykorzystaniem samego linuxa?