www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: Schaka am 03. April 2004, 17:07:47



Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: Schaka am 03. April 2004, 17:07:47
Moin,

ich hoffe, jmd hat ne idee für folgendes problem:

in der users tabelle habe ich die 4 spalten fstor, fretr, bstor, bretr.
fstor und fretr zeigen reelle werte an, jedoch bstor und betr nicht.
ich habe 1400 MB hochgeladen und bstor zeigt 784626917 an, also
ca. 750 MB.

bstor und bretr sind bigint(20)... und ja... ich habe den thread gelesen,
dass proftpd nur integer handeln kann. aber ist diese grenze nicht
laut readme bei 2 GB und nicht schon bei 750 MB?



thx für eure antworten.


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: graem_l am 07. April 2004, 22:16:08
ich kann dir zwar nicht helfen aber es würde mich wundern was das für ein modul ist? und was man in der Confg einstellen muss?

Würde mich freuen wenn du mir das sagen könntest, ich suche das nämlich auch

Mfg


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: Anonymous am 07. April 2004, 23:24:11
./configure -with-modules=mod_sql:mod_sql_mysql

das is das minimum...

ne anständige sql-dump findest du auf der proftpd.de seite.

und die 4 spalten, die du in der users-table ergänzen musst, sind:
fstor, fretr, bstor, bretr

in der conf:
SQLRatioStats on

und natürlich die ganzen anderen SQL direktiven... findest du auch ne bsp conf auf der proftpd.de seite


das wars


PS: weiß wirklich keiner, warum in den bytes-spalten so ungenaue werte drin sind? ... ich mein, 50% zu wenig ist echt schon ein hartes stück...


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: stonki am 08. April 2004, 07:52:45
Zitat von: "Anonymous"

PS: weiß wirklich keiner, warum in den bytes-spalten so ungenaue werte drin sind? ... ich mein, 50% zu wenig ist echt schon ein hartes stück...


leider nicht. Wenn Du mir eine Schritt fuer Schritt Anleitung postet zum nachvollziehen, dann will ich das gerne ueber Ostern probieren und dann ggf. Castaglia bescheid geben, dass er das fuer 1.2.10 noch fixen soll..

cu
stonki


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: Schaka am 08. April 2004, 11:01:49
na gut, auf gehts - das ist nen fairer kompromiss ;)

kleine anmerkung vorab: ftpd LOKAL bauen... weil diese unterschiede erst bei xxx MB kommen... und ich nicht glaube, dass du bock hast, 500MB zu testzwecken übers internet zu schieben.

Code:

./configure -with-modules=mod_sql:mod_sql_mysql --prefix=/home/foo --with-includes=/foo/include:/foo/include/mysql --with-libraries=/foo/lib:/foo/lib/mysql


in deine proftpd.conf
die drei großgeschriebenen wörter ersetzen

Code:

SQLAuthTypes Plaintext
SQLAuthenticate users*
SQLConnectInfo TABLENAME@localhost USERNAME PASSWORT
SQLDefaultGID 65534
SQLDefaultUID 65534
SQLMinUserGID 100
SQLMinUserUID 500
SQLUserInfo users username password uid gid homedir shell

SQLRatioStats on


hier kommt ein mysql dump:

Code:

#
# Tabellenstruktur für Tabelle `groups`
#

CREATE TABLE `groups` (
  `groupname` text NOT NULL,
  `gid` smallint(5) unsigned NOT NULL default '0',
  `members` text NOT NULL,
  UNIQUE KEY `gid` (`gid`)
) TYPE=MyISAM;

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `users`
#

CREATE TABLE `users` (
  `username` varchar(30) NOT NULL default '',
  `password` varchar(80) NOT NULL default '',
  `uid` smallint(5) unsigned NOT NULL default '0',
  `gid` smallint(5) unsigned NOT NULL default '0',
  `homedir` text NOT NULL,
  `shell` text NOT NULL,
  `fstor` bigint(20) unsigned NOT NULL default '0',
  `fretr` bigint(20) unsigned NOT NULL default '0',
  `bstor` bigint(20) unsigned NOT NULL default '0',
  `bretr` bigint(20) unsigned NOT NULL default '0',
  UNIQUE KEY `userid` (`username`),
  UNIQUE KEY `uid` (`uid`)
) TYPE=MyISAM;



Die folgenden schritte zum user erstellen... dabei weiß ich selbst nicht, ob es andere, einfachere lösungen gibt, aber ich poste hier mal eine lösung, die klappt.

neuen user erstellen... mit adduser ... oder /etc/passwd editieren
bash auf /bin/false
uid merken.

in mysql in die groups table einfügen:

users
100 (meistens, evtl noch mal in der /etc/group nachgucken)
der erstellte username von oben


in mysql in die users table einfügen:

der erstellte username von oben
ein passwort (im klartext)
uid von oben
100 (meistens, evtl noch mal in der /etc/group nachgucken)
/foo/homeverzeichnis (das aus der /etc/passwd)
/bin/false
0
0
0
0


fertig :)

proftpd starten... 500 MB uppen... und staunen


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: graem_l am 08. April 2004, 11:51:46
Ich nehme an dass diseses SQLRatioStats on automatisch die db und die tabellen auswählt ? brauchts nich noch infos? Dann kann ich ma schauen


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: Schaka am 08. April 2004, 12:15:04
man könnte sich natürlich auch einfach mal schnell in der direktivenliste das SQLRatioStats angucken... was hältste von der idee? ;)


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: stonki am 08. April 2004, 12:27:20
Zitat von: "Schaka"

Code:

./configure -with-modules=mod_sql:mod_sql_mysql --prefix=/home/foo --with-includes=/foo/include:/foo/include/mysql --with-libraries=/foo/lib:/foo/lib/mysql



muss da fuer Ratio nix mit angegeben werden ?


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: Schaka am 08. April 2004, 13:03:51
ich meinte irgendwo gelesen zu haben, dass das SQLRatioStats im mod_sql drin wär...

aber sicherheitshalber kannste auch noch mod_quotatab:mod_quotatab_sql mit angeben.


btw: ich hab jetzt auch mal ne testreihe gestartet. das problem ist nicht mehr wiederholbar... egal ob TLS, ohne TLS, egal in welches verzeichnis... bei den 20 files, die ich eben hochgeladen habe, stimmte der counter zu 100%
egal, ob lokal hochgeladen oder übers internet, egal mit welchem programm, egal wie groß die datei...

aber ich werde das testen nicht aufgeben, irgendwodran muss es liegen... vielleicht am dateinamen, dass er manche dateien nicht erkennt....

ich bin am verzweifeln - aber das testen geht weiter.

und der wert von oben: 750 MB im mysql table, obwohl 1400 MB hochgeladen muss 100%ig stimmen... eher sind die 1400 MB zu wenig, weil das nur von `ls -lRh | grep username` stammt


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: graem_l am 08. April 2004, 23:47:00
Also ich habe gerade getestet was du meinst, und ich hab ev. ne idee.


Ich habe das Modul ausgiebig getestet und bin enttäuscht weil:
Probiert mal mit einem FTP Client ein grösseres File zu downloaden, in der Mitte anzuhalten und dann weiterzumachen, in den Logs wird es schreiben 1 file mehr, ABER er zählt nur die Bytes seit dem Weitermachen!

Ev, musstest du irgendwann weitermahen mit upload? dann werden die vorherigen Bytes nicht geschrieben.....

Es muss doch eine Möglichkeit geben dies zu unterbinden.

Im Mod quotatab dasselbe, man kann seine "Downloadlimite" umgehen indem man kurz vor dem Ende des files anhält, und weitermacht, dann hat man vielleicht 100 kilo weniger im quota....


Bisschen enttäuschend :(


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: Schaka am 09. April 2004, 03:09:55
es ist ja gewollt, dass dir beim resumen nur das angerechnet wird, was du tatsächlich an bytes überträgst. dass er dir ein neues file anrechnet, ist ein ungewünschter aber leider zwanghafter nebeneffekt... woher soll der ftpd wissen, dass du das file schon auf dem pc hast?

aber leider hat dies nichts mit meinem o.g. problem zu tun, da er die bytes sofort nach dem abbruch der übertragung korrekt in die table schreibt... ob ich ihm via REST eine startposition angebe (zum resumen) oder von anfang an sauge, ist egal.


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: graem_l am 09. April 2004, 10:28:37
Ok, beim quotatab hab ich mich verrechnet, dort wird - auch wenn man anhält - die ganze bytesumme schlussendlich gerechnet.


beim SQLQuotaStats aber nicht!

Wenn du in der Hälfte pausierst und dann weitermachst, gibt 1 Fileeintrag mit der Hällfte der Bytes!


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: stonki am 09. April 2004, 13:06:23
Zitat von: "graem_l"
Ok, beim quotatab hab ich mich verrechnet, dort wird - auch wenn man anhält - die ganze bytesumme schlussendlich gerechnet.


beim SQLQuotaStats aber nicht!

Wenn du in der Hälfte pausierst und dann weitermachst, gibt 1 Fileeintrag mit der Hällfte der Bytes!


Das sind nun zwei verschiedene Module, oder ?
Mod_quotatab von Castaglia ist IMHO das einzigste Quotamodul, was noch weiterentwickelt wird.

cu
stonki


Titel: Falsche Werte beim Traffic Counting in der MySQL
Beitrag von: graem_l am 09. April 2004, 14:24:33
Jo mit JT von casta hab ich Kontakt und hab ihm das weitergeleitet. Dass sie ev ein Modul einbauen zur Totalberechnung der verschobenen Bytes und Files, welche auch die Angehaltenen berechnet.