mlodycompany 29 Zgłoś post Napisano Listopad 20, 2012 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 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? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 20, 2012 Szukaj komend linuxa, przenieść do PHP to nie jest problem. Sam PHP nie ma w sobie dostępu do logów ssh itd. Pamiętaj jeszcze że logi np. /var/log/auth.log są archiwizowane: U mnie np. auth.logauth.log.1 auth.log.2.gz auth.log.3.gz auth.log.4.gz Udostępnij ten post Link to postu Udostępnij na innych stronach
mlodycompany 29 Zgłoś post Napisano Listopad 20, 2012 To, że logi są porozbijane na kilka plików to wiem i mam to na uwadze, lecz nie mam pomysłu (znaczy mam, ale niezbyt dobry) jak obrobić za jednym zamachem kilka reguł z tak dużego pliku... Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość hdmagc Zgłoś post Napisano Listopad 20, 2012 (edytowany) Nie wspieram działania forum webhostingtalk.pl Edytowano Styczeń 15, 2013 przez hdmagc (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 20, 2012 Użyć bash i cron do zapisu np co 5 min potrzebnych danych z logów do pliku txt, którego zawartość już prosto wyświetlać sobie możesz w dowolnej konfiguracji. Ja bym zrobił tak: Co 10 minut odpala się skrypt, zbiera informacje z logów, następnie przerzuca pliki z logów do innego katalogu lub je archiwizuje i tworzy nowy plik lub czeka na stworzenie go przez program. I zapis do bazy danych MySQL przez PHP lub do jakiegoś pliku TXT Wszystko można zrobić w PHP odpowiednimi komendami linuxa Udostępnij ten post Link to postu Udostępnij na innych stronach
mlodycompany 29 Zgłoś post Napisano Listopad 20, 2012 @kamikadze, podoba mi się Twój pomysł. Jeszcze mam pytanie co jest ważne w takich logach? Ważne w sensie bezpieczeństwa oraz błędów pracy maszyny. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 20, 2012 Zależy do czego służy Np. jeżeli serwer nie wykorzystuje poczty to nie są potrzebne logi serwera mailowego... Musisz sobie rozpisać do czego używasz serwera, jakie logi będą ci potrzebne i co chcesz monitorować. Następnie analizujesz logi i sprawdzasz co jest ci potrzebne. Co do skryptu warto dopisać że np. co tydzień wysyła ci powiadomienie na maila ze wszystkimi danymi z tygodnia, łącznie z zużyciem RAM, CPU, uptime. Po wysłaniu maila dane przechodzą do archiwum a naliczane jest wszystko od nowa Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 20, 2012 To rozwiązanie dla samego siebie czy raczej na maszynę produkcyjną ? Udostępnij ten post Link to postu Udostępnij na innych stronach
mlodycompany 29 Zgłoś post Napisano Listopad 20, 2012 @kamikadze, raporty tygodniowe z cpu, loadów, hdd, memory już działają @xorg dla samego siebie lecz kilka innych osób też będzie z tego korzystać, ale nie na jakąś dużą skalę Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 20, 2012 To rozwiązanie dla samego siebie czy raczej na maszynę produkcyjną ? Zawsze warto się nauczyć takich rzeczy Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 21, 2012 To pytanie raczej miało trochę inny cel. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 21, 2012 To pytanie raczej miało trochę inny cel. Wiem, ale nie do mnie skierowane, więc nie wypowiadałem się za innego użytkownika, tylko dodałem swój komentarz Udostępnij ten post Link to postu Udostępnij na innych stronach