• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Für jeden Benutzer Onlinezeiten ausgeben

orikson

Member
Hi,

ich will mir demnächst nen Proxy aufsetzten, möglichst mit Squid und SARG auf Basis der mitgelieferten Software von SuSE 10 (konsolenbasiert!). Jetzt hab ich nur vorweg eine Frage: Ist es möglich, für jeden PC der über diesen Proxy surft eine Monatsskala mit den Onlinezeiten zu erstellen? Also z.B.:

PC1 352 Minuten
PC2 bla bla

Ist das mit SARG möglich? Wenn ja, wie?
 
wenn du die Benutzer authentifiziertst kannst du aus der squid access.log viele daten inklusiv benutzer ziehen.

dann ewentl mit AWK einen filter schrieben und die logs über einen cronjob auswerten.
 
Und wie definierst du das? Was ist, wenn jemand eine persistente Verbindung zum Proxy hat? - dann wäre er ja die ganze Zeit on. Zählst du einen Seitenaufruf als 1 Sekunde (könnte ja nur wget sein) oder als 1 Minute (weil der User die Page liest, und deswegen on sein muss)?
 
hmm da hast du recht,

über die access.log kannst du nur erkennen was und wann jemand etwas über den proxy angefordert hat.

sehr ungenau wäre es, wenn du von anmeldung am proxy bis pauschal 2 min nach letztem aufruf zählst.

eine andere möglichkeit, ich hab aber keine ahnung wie man das bewerk stelligen könnte
http://www.linux-magazin.de/Artikel/ausgabe/2000/08/Trickkiste/trickkiste.html
dazu wäre es nötig, dass der browseraufruf den ip-up und ende den ip-down sendet.

oder...gibt es eine möglichkeit abzuprüfen wieviel byte (oder MB) durch ein interface zb eth0 durch sind?
 

Frankie777

Advanced Hacker
Ja, sarg gibt auch eine Zeitsumme aus.
Die Zeitsumme als solche ist aber nicht sehr aussagekräftig.

Sarg gibt aber pro Benutzer summarisch das Datenvolumen unterteilt nach Stunden aus.
Ebenso Benutzer dstn-Adresse und zu welcher Uhrzeit aufgerufen.
In dieser Auswertung fehlt eigentlich das Datenvolumen in Stundeneinheiten. Ob man die Ausgabe noch anders konfigurieren kann habe ich noch nicht geprüft.

Ansonsten kann man das Datenvolumen auch über iptables messen.

iptables -v -L FORWARD zeigt die Bytes.
Mit geeigneten Regeln kann man die pro Benutzer erfassen und mit einem Script auswerten. Auch das Blocken bei Überschreitung von Grenzen ist per Script möglich.
 
Frankie777 schrieb:
iptables -v -L FORWARD zeigt die Bytes.
Mit geeigneten Regeln kann man die pro Benutzer erfassen und mit einem Script auswerten. Auch das Blocken bei Überschreitung von Grenzen ist per Script möglich.
-m owner und FORWARD macht kein Sinn, BTW. Man kann natuerlich auf IP oder CONNMARK matchen.. ist aber wieder ne Klasse fuer sich.
 

Frankie777

Advanced Hacker
Stimmt,
der Threadschreiber hat alles auf einen Rechner, da wird das so nicht funktionieren und auch Sarg wird keinen aussagekräftigen Report liefern.
 
Oben