MySQL und Plot erstellen?!

  • Ersteller pfannkuchen2001
  • Erstellt am
pfannkuchen2001

pfannkuchen2001

Aktives Mitglied
Thread Starter
Dabei seit
17.02.2006
Beiträge
2.600
Reaktionspunkte
48
Hi,

ich habe gestern versucht, ein kleines Statistik script zu schreiben, welches loggt, wann wer für wie lange mit meinem openVPN server verbunden war und wieviele Daten er/sie transferiert hat.

Das ganze wird in eine MySQL Datenbank die so erstellt wurde:


CREATE TABLE `openvpn` (
`cname` char(50) NOT NULL,
`realaddr` char(22) NOT NULL,
`received` bigint(20) default NULL,
`sent` bigint(20) default NULL,
`starttime` datetime default NULL,
`endtime` datetime default NULL,
`vpnaddr` char(22) default NULL
)


Das script tut nun auch seinen Dienst, nur leider weis ich nun nicht, wie ich die daten am besten auswerte! Ich hätte gern einfach ein xy (x - Zeit, y - Daten) Diagram welches mit der Vergangenen Zeit mitwächst.

Ich dachte da an gnuplot. Nur leider weis ich nicht wie ich die daten nun sinnvoll aus der datenbank bekomme.

Ich bin vollkommener Anfänger in sachen datenbanken und wäre froh, wenn mir da jemand helfen könnte!

Danke schonmal,


Pfannkuchen
 
ich würds mit einem kleinen PHP-Script lösen...
 
Hey, genau das habe ich jetzt versucht.

Das ganze hat auch einigermaßen geklappt! (ich bin sogar ziemlich happy, denn das war das allererste was ich mit PHP/mysql gemacht hab!)

Die ausgabe sieht nun so aus:
root@server:~/scripts$ php Datenbank_auslesen.php
user1 22056 1268007 | user2 23989 240281 | user3 1345667 6543 | user4 12345 54321 |

Nun brauche ich noch ein script, welches "php Datenbank_auslesen.php" aufruft, und das Ergebnis sortiert und mit einer Uhrzeit in eine Textdatei schreibt.
Das ganze sollte dann im endeffekt etwa so aussehen:

12.03.2011 user1 12341245 5324523
12.03.2011 user2 1234 645324
12.03.2011 user3 61346 234
12.03.2011 user4 134 1234
13.03.2011 user1 12341245 5324523
13.03.2011 user2 34567 225476
13.03.2011 user3 71345 2345
13.03.2011 user4 8765 87654
14.03.2011 user1 3456 532765434523
14.03.2011 user2 2754 145345782634
14.03.2011 user3 2457256 2457824562
14.03.2011 user4 2456782 2457824657


Sowas müsste man doch per gnuplot plotten können oder? Kennt sich damit jemand aus? Also das für jeden User ein Graph angelegt wird?

Aber mein nächstes Problem ist: ich habe keine Ahnung, wie ich nun die ausgabe von dem Php script sinnvoll und geordnet in eine textdatei bekomme!

Bitte helft, wenn ihr könnt!


Grüße,

Pfannkuchen
 
Hi, ich bins nochmal: Denke ich zu kompliziert, wenn ich sage, man müsste mehrere textdateien schreiben - jeweils 2 (sent und received) für jeden User? Ansonsten bekommt man ziemliche Probleme Mit Gnuplot...

Ideen?!

Grüße,

Pfannkuchen
 
Wieso nicht einfach EINE php-datei, die die Datenbank ausliest und die resultate direkt in eine Textdatei schreibt?

Mit fopen() und fwrite() kein Problem...

Gruss simu
 
Zurück
Oben Unten