Adott egy 1.log . Ebben a weboldal látogatottság van elmentve, amibe benne vannak a robotok is. A botokat így szűrtem konzolban: grep -vi 'bot' 1.log > ~/Desktop/2.log . Ez már a /Bot megjegyzésű sorokat kigyomlálta. Következett az azonos IP címek kitakarítása úgy, hogy minden IP címből csak 1db maradhatott a listában: awk '!seen[$1]++' 2.log > ~/Desktop/3.log . Itt már minden IP címből csak 1db található a listában, de így is egy havi adatmennyiségben többezer sor van.
Szeretném azt elérni, hogy kiírassam a valódi látogatókat számszerűen. Tudom, vannak VPN látogatások is, amit esetleg Botok generálhatnak, mégsem szeretném ezt figyelmen kívül hagyni, hiszen vannak többen is ma már, akik VPN-t használnak akár a böngészésükre is.
A .log fájlt cpanel generálta.
Kiegészítés: A sorok elején vannak az IP címek, bár ha legurigázok a kwrite-ben, mutatja a sorok számát, ám tudnék annak örülni, ha számokkal is ki tudnám íratni a sorok számát.
Megoldás:
kdialog --title "AWStat eredmény" --msgbox "Egyedi IP címek száma: $COUNT" kellett még a scriptem végére és egy ikonnal már indul is egy kis ablakban a sorok száma. Egyelőre csak annyi a dolgom, hogy a szerverről leszedem a logot egy könyvtárba és onnantól ikonról klikkelve megjelenik egy kis ablakban a végeredmény.
- 463 megtekintés
Hozzászólások
de így is egy havi adatmennyiségben többezer sor van
Ez valami pornószájt vagy ingyen pénzosztást hirdet? Ügyes a marketinges.
- A hozzászóláshoz be kell jelentkezni
Hehehehe... ha pornószájt vóna, mán saját programozómnak adnám ki ezt a feladatot :D
- A hozzászóláshoz be kell jelentkezni
Már 25 éve is volt olyan szoftver, ami a webszerver logokat feldolgozta és megjelenítette egy külön weboldalon. Lásd: https://en.wikipedia.org/wiki/AWStats
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen, ebben igazad van, de egyrészt jelenleg a szolgáltató nem tette még be a listába, másrészt jó látni hogyan működik egy ilyen számláló.
- A hozzászóláshoz be kell jelentkezni
Melyik szolgáltató ez? Írtál már nekik a problémáddal kapcsolatban?
Nagy az esélye, hogy ez a feature benne van a cPanelben. Csak nem találtad meg még.
- A hozzászóláshoz be kell jelentkezni
Igen, tuti benne van, szerintem fogom is kérni, ennek ellenére jó hogy megoldottam eddig. Már csak azt kell kiderítenem, mennyire valid a lista.
- A hozzászóláshoz be kell jelentkezni
wc -l 3.log konzolban, így már tudom a sorok számát, tehát ennyi egyedi IP volt egy hónap alatt és igen, jelenleg többezer. Persze így a számokat és a fájlnevet adja ki, de ezzel már csak a számokat mutatja: wc -l < 3.log .
Most megpróbálom grafikusan is megjeleníteni, egyelőre keresem a megoldást rá.
- A hozzászóláshoz be kell jelentkezni
wc -l 3.log konzolban, így már tudom a sorok számát, tehát ennyi egyedi IP volt egy hónap alatt
Nem. A félkövérített rész nem igaz.
- A hozzászóláshoz be kell jelentkezni
Akkor segíts kérlek, mi miatt nem igaz a félkövér rész?
- A hozzászóláshoz be kell jelentkezni
Most olvastam újra a nyitót: Így már látom, hogy a 3.log az már duplikátum mentes. Tévedtem, elnézést.
- A hozzászóláshoz be kell jelentkezni
Köszönöm hogy jelezted. Annyiból finomítottam a végeredményt, hogy még tovább szűrtem a (css|js|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf) tartalmakra is, így szerintem egy eléggé korrekt eredményt kaptam. Kihagytam esetleg valamit?
- A hozzászóláshoz be kell jelentkezni
Ha 100 ember megnézi minden nap az oldaladat , akkor 100 a látogatottságod vagy 3000 ezer. Vagy akiknél a visszatérési érték nem 200, ez nagyságrendekkel több mint az ok.
- A hozzászóláshoz be kell jelentkezni
Előfordulhat, hogy dinamikus IP-ről akár több napi látogató is beleszámolódik. Van erre valami okosság, hogy minél pontosabb legyen az egyedi látogatók száma?
- A hozzászóláshoz be kell jelentkezni
igen, berakod a google analytics-et az oldalba.
- A hozzászóláshoz be kell jelentkezni
kdialog --title "AWStat eredmény" --msgbox "Egyedi IP címek száma: $COUNT" kellett még a scriptem végére és egy ikonnal már indul is egy kis ablakban a sorok száma. Egyelőre csak annyi a dolgom, hogy a szerverről leszedem a logot egy könyvtárba és onnantól ikonról klikkelve megjelenik egy kis ablakban a végeredmény.
- A hozzászóláshoz be kell jelentkezni
Én erre egy sokkal belfékebb megoldást csinálok, ha a log file-ból akarok IP címeket kivadászni, általában bannolás céljára, saját magamnak. Azért írtam le, hogy meglegyen nekem is.
A logot exportálom csv-be, bármibe, mert a desktop gépem nem linuxos.
A logot tisztítom, elsőnek Notepad++-szal sorbarendezem. Így a sikeres belépések máshová kerülnek, mint a hibás belépések.
A sikeres belépéseket kitörlöm, csak a sikertelenek maradtak.
Ezután csere (CTRL+H) --> keresés: ^.+?((?:\d+\.){3}\d+).+$
csere: $1
wrap around és
Regular expression legyen bepipálva,
. matches newline ne legyen bepipálva
Eztán mehet is a csere mindegyikre. A maradékot elmentem ban.txt-nek, és mehet a banlistre. Ha percenként csak 1 hibás lekérést hajt végre a csávó, a failtoban nem tiltja ki. Manapság nem 1 ip címről jönnek, hanem sokszázról és mindegyik percenként 1-et próbál.
- A hozzászóláshoz be kell jelentkezni
Komolyan nem ertem a problemat. Ha mar egyszer ugyis AWK varazslo vagy, akkor miert nem egybol azzal iratod ki azt, es ahogyan neked kell?
- A hozzászóláshoz be kell jelentkezni
Félreértettem a kérdésedet és a válaszom nem volt releváns, így delete.
- A hozzászóláshoz be kell jelentkezni
Jo, de miert nem hasznalod az AWK-t?
A !seen[$1]++ egy igazan elegans megoldas, a script vegen ott is a seen tomb merete, amit kiirathatsz (mondjuk az stderr-re, vagy akar mas FD-be).
- A hozzászóláshoz be kell jelentkezni