12-28-2014, 11:24 AM
Zdravo svima,
Skorije sam imao potrebu da analiziram prilicno veliki (500MB) mod_security log fajl i to u "realnom" vremenu, tj da svaki upis u fajl registrujem odmah i da promene vidim u nekom obliku koji je jednostavan za analizu napada na odredjeni web sajt.
Takodje fajl se jako brzo menja i rotira.
Resenje koje sam primenio je da sam napisao parser u pythonu koji radi slicno kao "tail -f logfile" i zanima me da li postoji bolji pristup za to:
Ovo odlicno radi jer cita liniju po liniju i ne zauzima puno memorije, zatim problem sa zakucavanjem cpu u while petlji sam resio sa sleep (jel ima bolji predlog?). Imao sam jos jedan problem a to je prekidanje skripta u pola ili bilo gde, i to sam resio sa pomeranjem file pointera u odnosu na zadnji upis u bazi.
Deo za analizu je u HTML/PHP-u i on nije sporan jer cita podatke iz DB.
@mikikg ti si cini mi se radio nesto sa nekim velikim logovima?
Hvala,
Ivan
Skorije sam imao potrebu da analiziram prilicno veliki (500MB) mod_security log fajl i to u "realnom" vremenu, tj da svaki upis u fajl registrujem odmah i da promene vidim u nekom obliku koji je jednostavan za analizu napada na odredjeni web sajt.
Takodje fajl se jako brzo menja i rotira.
Resenje koje sam primenio je da sam napisao parser u pythonu koji radi slicno kao "tail -f logfile" i zanima me da li postoji bolji pristup za to:
Code:
...
with open('/var/log/apache2/modsec_audit.log') as f:
while True: # This will wait for next line in file
if psutil.cpu_percent() > 50:
time.sleep(0.2) # CPU usage protection
line = f.readline()
if line:
# Do something with line from file
# Put it in DB, etc ...
...
Ovo odlicno radi jer cita liniju po liniju i ne zauzima puno memorije, zatim problem sa zakucavanjem cpu u while petlji sam resio sa sleep (jel ima bolji predlog?). Imao sam jos jedan problem a to je prekidanje skripta u pola ili bilo gde, i to sam resio sa pomeranjem file pointera u odnosu na zadnji upis u bazi.
Deo za analizu je u HTML/PHP-u i on nije sporan jer cita podatke iz DB.
@mikikg ti si cini mi se radio nesto sa nekim velikim logovima?
Hvala,
Ivan
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama XIV