Logging über's Netz

saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 09:05

Beitrag von saruman »

Naja, an sich sollte doch jede Applikation (sprich jeder Programmierer) selber entscheiden, ob sie den syslogd benutzt oder nicht.

printf irgendwas machen zu lassen was man nicht erwartet, halte ich für nicht so gut.

Grundsätzlich steh ich aber auch mehr auf den syslog. :)
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

Hi,

nachdem ich den syslogd mal mit in die Busybox genommen habe und festgestellt habe, daß der in der Dbox nicht gerade gesprächig ist (warum, siehe die letzten Posts von Chaka....& Saruman) hab ich mal den bootlogd aus der SysVInit kompiliert. Der Bootlogd macht folgendes :
Bootlogd runs in the background and copies all strings sent to the /dev/console device to a logfile. If the logfile is not accessible, the messages will be buffered in-memory until it is.
Aber irgendwie will er nich starten:
/tmp # ./bootlogd
bootlogd: cannot find console device 136:1 in /dev
/tmp # ./bootlogd -v
@(#) bootlogd 2.86 03-Jun-2004 miquels@cistron.nl
/tmp #
Ich glaub das hat was mit den Bugs, beschrieben in der manpage zu tun. Eigentlich müßte er ja ttyS0 auslesen, aber irgendwie haut das nicht hin....Any Hints ?

Greetz
Marc
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 09:05

Beitrag von saruman »

Gute Idee!

Nur leider ist die Manpage da schon ziemich eindeutig:
It copies that output to the real console device and a logfile. There is no standard way to find out the real console device if you have a new-style /dev/console device (major 5, minor 1). [...] If that syntax is ever changed by the kernel, or a console-type is used bootlogd does not know about, bootlogd will not work.
Der ist halt einfach nicht dafür gemacht irgendwas anderes als ein 136:1 device auszulesen. :(
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

So, hab mal nen ein wenig im Quellcode gepfuscht, nun läuft er :

Code: Alles auswählen

Thu Jan  1 00:54:51 1970: Using /lib/modules/2.4.27-dbox2/misc/event.o
Thu Jan  1 00:54:52 1970: Using /lib/modules/2.4.27-dbox2/misc/tuxbox.o
Thu Jan  1 00:54:52 1970: Using /lib/modules/2.4.27-dbox2/misc/dvb-core.o
Thu Jan  1 00:54:52 1970: Using /lib/modules/2.4.27-dbox2/misc/dbox2_i2c.o
Thu Jan  1 00:54:52 1970: Using /lib/modules/2.4.27-dbox2/misc/dbox2_fp.o
Thu Jan  1 00:54:52 1970: Using /lib/modules/2.4.27-dbox2/misc/dbox2_fp_input.o
Thu Jan  1 00:54:52 1970: Using /lib/modules/2.4.27-dbox2/misc/avs.o
Thu Jan  1 00:54:53 1970: Using /lib/modules/2.4.27-dbox2/misc/saa7126.o
Thu Jan  1 00:54:53 1970: Detected STB:
Thu Jan  1 00:54:53 1970:   Vendor: Sagem
Thu Jan  1 00:54:53 1970:   Model: D-BOX2 
Thu Jan  1 00:54:53 1970: Using /lib/modules/2.4.27-dbox2/misc/cam.o
Thu Jan  1 00:54:54 1970: Using /lib/modules/2.4.27-dbox2/misc/dvb_i2c_bridge.o
Thu Jan  1 00:54:54 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_napi.o
Thu Jan  1 00:54:54 1970: Using /lib/modules/2.4.27-dbox2/misc/cam_napi.o
Thu Jan  1 00:54:54 1970: Using /lib/modules/2.4.27-dbox2/misc/dbox2_fp_napi.o
Thu Jan  1 00:54:55 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_av.o
Thu Jan  1 00:54:55 1970: route: SIOC[ADD|DEL]RT: Network is unreachable
Thu Jan  1 00:54:56 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_gt.o
Thu Jan  1 00:54:57 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_gt_fb.o
Thu Jan  1 00:54:58 1970: Using /lib/modules/2.4.27-dbox2/misc/lcd.o
Thu Jan  1 00:54:58 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_gt_lirc.o
Thu Jan  1 00:54:58 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_gt_oss.o
Thu Jan  1 00:54:58 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_gt_v4l2.o
Thu Jan  1 00:54:58 1970: Using /lib/modules/2.4.27-dbox2/misc/at76c651.o
Thu Jan  1 00:54:59 1970: Using /lib/modules/2.4.27-dbox2/misc/ves1x93.o
Thu Jan  1 00:54:59 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_av_napi.o
Thu Jan  1 00:54:59 1970: Using /lib/modules/2.4.27-dbox2/misc/avia_gt_napi.o
Thu Jan  1 00:54:59 1970: Using /lib/modules/2.4.27-dbox2/misc/dvb2eth.o
Thu Jan  1 00:54:59 1970: Using /lib/modules/2.4.27-dbox2/misc/aviaEXT.o
Thu Jan  1 00:55:00 1970: Using /lib/modules/2.4.27-dbox2/kernel/net/sunrpc/sunrpc.o
Thu Jan  1 00:55:00 1970: Using /lib/modules/2.4.27-dbox2/kernel/fs/lockd/lockd.o
Thu Jan  1 00:55:00 1970: Using /lib/modules/2.4.27-dbox2/kernel/fs/nfs/nfs.o
Thu Jan  1 00:55:00 1970: Using /lib/modules/2.4.27-dbox2/kernel/fs/cifs/cifs.o
Thu Jan  1 00:55:01 1970: 
Thu Jan  1 00:55:01 1970: Please press Enter to activate this console. .Thu Jan  1 01:00:00 CET 1970
Thu Jan  1 00:00:00 1970: $Id: sectionsd.cpp,v 1.184 2005/05/02 19:06:35 rasc Exp $
Thu Jan  1 00:00:00 1970: caching 504 hours
Thu Jan  1 00:00:00 1970: events are old 180min after their end time
Thu Jan  1 00:00:01 1970: [camd] ca system id: 1722
Thu Jan  1 00:00:01 1970: $Id: zapit.cpp,v 1.371 2005/04/17 06:56:15 metallica Exp $
Thu Jan  1 00:00:01 1970: /var/tuxbox/config/zapit/antiservices.xml: No such file or directory
Thu Jan  1 00:00:01 1970: /var/tuxbox/config/zapit/myservices.xml: No such file or directory
Thu Jan  1 00:00:02 1970: $Id: controld.cpp,v 1.117 2004/05/22 14:34:09 carjay Exp $
Thu Jan  1 00:00:02 1970: 
Thu Jan  1 00:00:02 1970: [controld] Boxtype detected: (3, Sagem D-BOX2)
Thu Jan  1 00:00:02 1970: [controld] setting VideoFormat to auto 
Thu Jan  1 00:00:03 1970: [nhttpd] Neutrino HTTP-Server starting..
Thu Jan  1 00:00:05 1970: [neutrino] frameBuffer Instance created
Thu Jan  1 00:00:05 1970: 812k video mem
Thu Jan  1 00:00:05 1970: [neutrino] Software update enabled

Thu Jan  1 00:00:05 1970: [neutrino] enable flash
Thu Jan  1 00:00:06 1970: [lcdd] time-skin not found -> using default...
Thu Jan  1 00:00:06 1970: [lcdd] weekday-skin not found -> using default...
Thu Jan  1 00:00:06 1970: [lcdd] date-skin not found -> using default...
Thu Jan  1 00:00:06 1970: [lcdd] month-skin not found -> using default...
Thu Jan  1 00:00:06 1970: [LCDFONT] initializing core...
Thu Jan  1 00:00:07 1970: [LCDFONT] adding font /share/fonts/12.pcf.gz...[camd] no card is in slot #2
Thu Jan  1 00:00:07 1970: [camd] no card is in slot #1
Thu Jan  1 00:00:07 1970: OK (Fix12/Regular)
Thu Jan  1 00:00:07 1970: [LCDFONT] adding font /share/fonts/14B.pcf.gz...OK (Fix14/Bold)
Thu Jan  1 00:00:07 1970: [LCDFONT] adding font /share/fonts/15B.pcf.gz...OK (Fix15/Bold)
Thu Jan  1 00:00:07 1970: [LCDFONT] Intializing font cache...
Thu Jan  1 00:00:07 1970: [LCDFONT] FTC_Face_Requester (Fix15/Bold)
Thu Jan  1 00:00:07 1970: [LCDFONT] FTC_Face_Requester (Fix14/Bold)
Thu Jan  1 00:00:08 1970: /dev/input/event1: No such file or directory
Thu Jan  1 00:00:08 1970: [neutrino] menue setup
Thu Jan  1 00:00:08 1970: [controld] setting VideoFormat to auto 
Thu Jan  1 00:00:08 1970: loading locales: scandir: No such file or directory
Thu Jan  1 00:00:09 1970: [neutrino] registering as event client
Thu Jan  1 00:00:09 1970: [controld] setting VideoFormat to auto 
Thu Jan  1 00:00:10 1970: [timeThread] time(): 01.06.2005 14:00:10, tim: Wed Jun  1 14:00:10 2005
Thu Jan  1 00:00:10 1970: [neutrino] initialized everything
Wed Jun  1 12:00:12 2005: [timeThread] time(): 01.06.2005 14:00:12, tim: Wed Jun  1 14:00:12 2005
Wed Jun  1 12:00:12 2005: [controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (4:3 -> 4:3)
Wed Jun  1 12:01:25 2005: [LCDFONT] FTC_Face_Requester (Fix12/Regular)
Wed Jun  1 12:01:42 2005: [camd]: send_gui_message connect (/tmp/neutrino.sock) error[camd] set emm caid 1722 capid 1500
Wed Jun  1 12:01:42 2005: [camd] starting onid 0001 sid 0008
Wed Jun  1 12:01:43 2005: [camd] set emm caid 1722 capid 1500
Wed Jun  1 12:01:44 2005: descramble onid: 0001 sid: 0008 status: 8484
Wed Jun  1 12:01:50 2005: [camd] starting onid 0001 sid 0014
Wed Jun  1 12:01:52 2005: descramble onid: 0001 sid: 0014 status: 8484
Reicht das ?

Greetz
Marc
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

sieht doch schonmal ganz gut aus :) Werden die Logs in einem Ringbuffer gespeichert oder nimmt er sich einfach soviel Speicher, wie er braucht, wenn in die Datei nicht geschrieben werden kann?

ciao,

ChakaZulu
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

Öhm, keine Ahnung...

Ich lass das Logfile im Moment noch nach /tmp/bootlog schreiben....also in die RamDisk....

Code: Alles auswählen

char ringbuf[32768];
char *endptr = ringbuf + sizeof(ringbuf);
char *inptr  = ringbuf;
char *outptr = ringbuf;
Daraus schließ ich der Puffer is auf 32Kbyte begrenzt oder ? So ganz fit bin ich C-Programmierung noch nicht...

Greetz
Marc
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 09:05

Beitrag von saruman »

Rockt! :)

Jetzt nur noch den kompletten Output übers Netz an eine andere Maschine schicken (Stichwort syslog) und fertig ist die Laube!

Klasse! ;)
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 09:49

Beitrag von DieMade »

Ich will ja keine Spaßbremse sein, aber mit fehlen da die Ausgaben der Treiber beim Laden.
There are 10 types of people in the world: those who know binary and those who don't
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 09:05

Beitrag von saruman »

Ach, Treiber, die werden im allgemeinen überschätzt. :)

Würde mal behaupten dass die dann nicht nach /dev/console loggen?
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

Oops, stimmt !

Jetzt wo du es sagst....

Greetz
Marc
rasc
Senior Member
Beiträge: 5071
Registriert: Montag 17. September 2001, 23:00

Beitrag von rasc »

Es gaebe ja noch eine andere Methode, ist aber nicht syslogd Standard...


dbox2:
(cat /proc/kmsg | nc -w 3 server-ip 10234 ) &


server:

nc -l -p 10234 >> logfile



Das ganze ist ziemlich primitiv, macht aber das was es soll...
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

Dann haben wir aber auch nur die Kernel-Meldungen (dmesg), das was die Programme mit printf auf der Console ausspucken bleibt uns damit verborgen.....

Warum der bootlogd die Treibermeldungen wegläßt bleibt mir ein Rätsel, der holt sich die Meldungen von der seriellen Konsole (ttyS0) und schreibts ins log..eigentlich müßte er alles aufzeichnen....

Man müßte den bootlogd so umbiegen, daß er die Meldungen aus /proc/kmesg (dmesg) mit denen aus der Console kombiniert...und dann haben wir alles was wir wollen...

Greetz
Marc
rasc
Senior Member
Beiträge: 5071
Registriert: Montag 17. September 2001, 23:00

Beitrag von rasc »

naja, man kann tatsaechlich bei Bedarf parallel mehrere netcat streams aufsetzen, wenn man das braucht.

z.B. cat /dev/console | nc ...
hannebamb(el)
Foren-Moderator
Beiträge: 297
Registriert: Montag 11. Oktober 2004, 13:51

Beitrag von hannebamb(el) »

DieMade hat geschrieben:Ich will ja keine Spaßbremse sein, aber mit fehlen da die Ausgaben der Treiber beim Laden.
Hey, das ist cool. Das jetzt mit netconsole kombiniert, und wir haben alle Meldungen :-)
poesel
Interessierter
Interessierter
Beiträge: 20
Registriert: Donnerstag 20. Mai 2004, 23:29

Beitrag von poesel »

Sorry so einen alten thread auszugraben. Ich hab aber genau das Problem, das die dbox sehr weit von der nächsten RS232 Schnittstelle weg ist.
Ein bootlog das in /tmp erzeugt würde wäre natürlich eine super Lösung - übers Netz loggen wäre auch toll.

Gibt es den dafür jetzt eine Lösung?
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 14:39

Beitrag von dietmarw »

das hat leider nie einen funktionsfähigen weg ins cvs gefunden..
new.life
Erleuchteter
Erleuchteter
Beiträge: 797
Registriert: Sonntag 19. Februar 2006, 01:17

Beitrag von new.life »

dietmarw hat geschrieben:das hat leider nie einen funktionsfähigen weg ins cvs gefunden..
ja, finde ich auch bedauerlich!
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

was richtiges gabs ja auch nicht.....

Ich hab mit dem bootlogd und dem syslogd rumgespielt....die anderen mit netcat....

Ich wäre eher dafür, man bringt den ganzen Treibern und Programmen bei ihre Ausgaben vernünftig nach syslog() zu schreiben.....dann brauchts nur noch den syslogd für die Ausgaben....und ob in ein lokales Textfile, ein Textfile übers Netz oder eben auf die RS232 sollte dann egal sein...

Hab mich die Tage gerade mal nach nem RS232 > LAN Adapter zum selbstbauen umgeschaut.....sind aber alle zu mächtig und teuer....

Marc
CarstenW
Erleuchteter
Erleuchteter
Beiträge: 416
Registriert: Mittwoch 17. Januar 2007, 16:47

Beitrag von CarstenW »

MarcM hat geschrieben: Hab mich die Tage gerade mal nach nem RS232 > LAN Adapter zum selbstbauen umgeschaut.....sind aber alle zu mächtig und teuer....

Marc
In der c't war mal was drinne, Heft 13+14+26/2004 und die Bauteilesätze gibt es noch bei www.segor.de

Carsten
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

jooo...kenn ich...da ist mir aber zu viel drin....ich brauch keinen Mini-Webserver auf dem Teil....

Ein einfacher PIC, nen LAN Chipsdingsi und PC seitig nen simpler Portmapper a la USBnachRS232 Treiber...würde es doch tun....

Marc
new.life
Erleuchteter
Erleuchteter
Beiträge: 797
Registriert: Sonntag 19. Februar 2006, 01:17

Beitrag von new.life »

MarcM hat geschrieben:..ein Textfile übers Netz..
..endlich mal Futter für tftpd32..gibt es einen Syslog Client für die Box?
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

Den müßte nur mal jemand mit in die Busybox mit aufnehmen.....Als Standalone sicherlich zu groß....oder hast du evtl. irgendein Share wo man es ablegen und von da starten könnte ? NAS,SD/MMC, HDD ?

Marc
new.life
Erleuchteter
Erleuchteter
Beiträge: 797
Registriert: Sonntag 19. Februar 2006, 01:17

Beitrag von new.life »

MarcM hat geschrieben:Den müßte nur mal jemand mit in die Busybox mit aufnehmen...
ja, das wäre gut
...oder hast du evtl. irgendein Share wo man es ablegen und von da starten könnte ? NAS,SD/MMC, HDD ?
ja, habe ich auch.
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 12:28

Beitrag von MarcM »

ok...ich schau mal ob ich den Syslogd als Standalone kompiliert krieg....

@CarstenW
Kannst du mich mal bitte im ULC freischalten ? Danke

Marc
new.life
Erleuchteter
Erleuchteter
Beiträge: 797
Registriert: Sonntag 19. Februar 2006, 01:17

Beitrag von new.life »

MarcM hat geschrieben:ok...ich schau mal ob ich den Syslogd als Standalone kompiliert krieg...
super! Wäre aber gut, wenn die BusyBox Variante nicht auf der Strecke bleibt.

@JtG/Riker
kannst Du bitte versuchen in einem kommenden Image/Snapshot den syslogd in die busybox (die bei dir ja sehr dynamisch/aktuell ist) mit einzubauen? Ich verzichte auch gerne auf die LCD-Animation oder/und ein Spiel...***duck und wech***