Forum: PC-Programmierung Log-dateien online ablegen?


von Borislav B. (boris_b)


Lesenswert?

Hallo!
Ich habe hier einen kleinen µC, der einige Überwachungs und 
Steueraufgaben übernimmt. Alles was er so tut wird zurzeit in einer 
Logdatei protokolliert. Hin und wieder würde ich nun gerne nachschauen, 
ob noch alles zu meiner Zufriedenheit läuft.

Meine erste Idee war einen Webserver auf das Gerät zu packen, der die 
Logdatei als Webseite aufbereitet. Allerdings scheint der Controller 
damit ein wenig überfordert zu sein ;-)

Meine zweite Idee: der Controller pusht die Log-Meldungen an einen 
"richtigen" Webserver, wo ich sie dann als Webseite abrufen kann. 
Momentan scheint mir das die sinnvollste Lösung zu sein.

Nun jedoch zu meiner Frage: wie setzte ich das technisch am besten um?
Man könnte natürlich alles per php Script vom µC in eine MySQL Datenbank 
eintragen lassen, woraus dann die Webseite bei Abruf (ebenfalls per PHP) 
eine schöne Darstellung generiert. Hier wäre auch ein responsive-Design 
wichtig, so dass das auch mit Smartphones und Tablets klappt und gut 
aussieht. Allerdings scheint mir das recht viel Aufwand zu sein (zumal 
ich webtechnisch nicht so bewandert bin).
Gibt es vielleicht noch bessere oder gar schon fertige Lösungen?

von Patrick W. (paddy)


Lesenswert?

Moin,
wenn du nur die Logmeldungen auf einen Server bekommen willst dann 
könntest du dir mal Syslog anschauen. Gegebenenfalls brauchst du 
serverseitig noch ein zusätzliches Programm, wenn dieser das nicht 
ohnehin schon kann (NAS können das teilweise schon, z.B. Synology). 
Clientseitig ist das dann recht einfach. Der muss nur die Meldungen 
abschicken.

von Borislav B. (boris_b)


Lesenswert?

Danke für den Tip! Das wäre sicherlich eine coole Sache, aaaaber:

Da das ganze auf einem gemieteten Webspace laufen soll, werde ich da 
wohl nichts installieren können. Ich hätte zwar ein NAS, aber das ist 
nicht 24/7 verfügbar (zwecks Stromsparen).

Also wird's vermutlich doch auf MySQL und PHP auf dem Server und HTML + 
jQuery Mobile für das Frontend hinauslaufen. Das sollte sich ja auch an 
einem Abend runtercoden lassen ;-)

Danke trotzdem!

von Martin (Gast)


Lesenswert?

MySQL vielleicht ein bisschen overkill oder?

von Borislav B. (boris_b)


Lesenswert?

Martin schrieb:
> MySQL vielleicht ein bisschen overkill oder?

Gibt's eine sinnvolle Alternative?

von Patrick W. (paddy)


Lesenswert?

Boris B. schrieb:
> Martin schrieb:
>> MySQL vielleicht ein bisschen overkill oder?
>
> Gibt's eine sinnvolle Alternative?

Wenn man einen kleinen Umweg nimmt und es evtl. reicht, dass die 
Logeinträge vom Webserver gepollt und gespeichert werden. Mit dem Atmel 
Webserver von Ulrich Radig habe ich das so realisiert. Damit werden 
Temperaturen über das NAS in eine MySQL Datenbank geloggt. Das sollte 
aber auch auf kommerziellem Webserver funktionieren, wenn dieser 
Cronjobs kann.
Der Atmel stellt in meinem Fall eine relativ spartanische "Webseite" mit 
den Bezeichnungen und Temperaturen zur Verfügung. In meinem Fall läuft 
dann auf dem NAS ein Cronjob, der alle 10 Minuten ein PHP Script 
ausführt. Damit wird die Seite vom Atmel abgerufen, die Informationen 
geparst und in die Datenbank geschrieben. Damit kann man die 
Datenbankaufgaben relativ einfach in PHP machen und belastet den Atmel 
nicht damit bzw. muss sich nicht auf dem Atmel mit SQL rumplagen. ;-)

von Borislav B. (boris_b)


Lesenswert?

Soherum gehts natürlich auch.

Scheint mir aber auf den ersten Blick die kompliziertere Lösung zu sein. 
Wenn der Controller zum Server pusht, entsteht doch auf beiden Seiten 
weniger Arbeit:
 - Controller: braucht keinen Webserver. Einfacher HTTP-Request reicht, 
um die Daten an den Server zu geben.
 - Server: Kein Cronjob oder ähnliches. Einfache PHP-Webseite, die die 
Daten entgegennimmt und in die MySQL-Datenbank legt.

Oder habe ich dich misverstanden?

: Bearbeitet durch User
von Magic S. (magic_smoke)


Lesenswert?

Auf jeden Fall mit echter Datenbank. Die Serverlogs sind im Vergleich 
zur genutzten Datenmenge Overkill und Rechenzeitverschwendung.

Das Serverseitige ist dabei auch schnell gemacht, mich würde nerven, daß 
ich den µC ins WWW bringen muß.

von Kaj (Gast)


Lesenswert?

Boris B. schrieb:
> Martin schrieb:
>> MySQL vielleicht ein bisschen overkill oder?
>
> Gibt's eine sinnvolle Alternative?

SQLite, da brauchst nicht mal n Datenbank-Server.
Ansonsten gibts ja nun genug Datenbanken mit namen von A - Z

von Borislav B. (boris_b)


Lesenswert?

magic smoke schrieb:
> Das Serverseitige ist dabei auch schnell gemacht, mich würde nerven, daß
> ich den µC ins WWW bringen muß.

Je nach Platform bekommst du das ja geschenkt. In meinem Fall (Netduino 
und Raspberry Pi) kostet das nicht viel mehr als ein Lächeln ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.