Loglevel des klogd setzen

DSLFritze

Neuer User
Mitglied seit
1 Dez 2006
Beiträge
73
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe im DS-MOD den syslogd und klogd aktiviert. Im Logfile erscheinen neben den informativen Meldungen zahlreiche Kernel-Meldungen des Typs user.debug, die das Logfile unübersichtlich machen:

Code:
Jan  9 15:14:01 fritz user.debug kernel: mcfw: group 0.0.0.0: query cpmac:0 10sec
Jan  9 15:14:01 fritz user.debug kernel: mcfw: group 0.0.0.0: query cpmac:2 10sec
Jan  9 15:14:01 fritz user.debug kernel: mcfw: group 0.0.0.0: query cpmac:3 10sec
Jan  9 15:15:20 fritz authpriv.info dropbear[670]: exit after auth (root): Exited normally
Jan  9 15:16:06 fritz user.debug kernel: mcfw: group 0.0.0.0: query cpmac:0 10sec
Jan  9 15:16:06 fritz user.debug kernel: mcfw: group 0.0.0.0: query cpmac:2 10sec
Jan  9 15:16:06 fritz user.debug kernel: mcfw: group 0.0.0.0: query cpmac:3 10sec
Jan  9 15:17:10 fritz syslog.info -- MARK --

Die DS-MOD-Konfigurationsseite für syslogd bietet ein Eingabefeld Zusätzliche Kommandozeilen-Optionen (für Experten), in der ich mit dem Parameter -l 7 den Loglevel des syslogd so einstellen kann, dass Nachrichten des Typs user.debug nicht angezeigt werden.

Besser wäre es jedoch, stattdessen direkt den Loglevel des klogd zu ändern, der dazu den Parameter -c n kennt. Nur habe ich keine Möglichkeit gefunden, Parameter des klogd in der Konfiguration des DS-MOD zu setzen. Nach einem Blick in /mod/etc/init.d/rc.syslogd, wo der klogd aufgerufen wird, habe ich den Eindruck, dass dies derzeit wohl nicht vorgesehen ist. Gibt es dennoch eine Möglichkeit?

Grüße,
DSLFritze
 
... wenn der Parameter funktioniert, dann trage ihn doch dort direkt beim Aufruf im Skript ein:

Entweder kannst du die Datei "rc.syslogd" vor dem Zusammenbauen des Images verändern oder du kannst im laufenden Betrieb die Datei "übermouten" in der Art
Code:
cp /mod/etc/init.d/rc.syslogd /var/tmp
mount -o bind /var/tmp/rc.syslogd /mod/etc/init.d/rc.syslogd
und sie ist danach editierbar.

Du könntest das Ganze dann ja sogar noch von außen beeinflussbar machen, indem du den gewünschten loglevel irgendwo unterhalb von /var/tmp/flash abspeicherst (und mit "modsave" sicherst) kannst du es "resetfest" anpassen.

Du kannst natürlich auch gleich eine GUI dazu entwickeln, wenn du schon dabie bist ... ;-) ;-)

EDIT
Probier doch mal, ob dir das hilft ;-) (nicht groß getestet, nur "runtergeschrieben"):
Code:
diff -Nur syslogd-cgi-0.2.2.ori/root/etc/default.syslogd/syslogd.cfg syslogd-cgi-0.2.2/root/etc/default.syslogd/syslogd.cfg
--- syslogd-cgi-0.2.2.ori/root/etc/default.syslogd/syslogd.cfg  2008-01-10 11:49:13.000000000 +0100
+++ syslogd-cgi-0.2.2/root/etc/default.syslogd/syslogd.cfg      2008-01-10 11:58:50.000000000 +0100
@@ -8,6 +8,7 @@
 export SYSLOGD_LOCAL='yes'
 export SYSLOGD_LOGGING='circular_buffer'
 export SYSLOGD_KLOGD='yes'
+export SYSLOGD_KLOGD_LEVEL='4'
 export SYSLOGD_ALTERNATIVE_LOGFILE=''
 export SYSLOGD_ROTATE_LOGFILES='no'
 export SYSLOGD_EXPERT_OPTIONS=''
diff -Nur syslogd-cgi-0.2.2.ori/root/etc/init.d/rc.syslogd syslogd-cgi-0.2.2/root/etc/init.d/rc.syslogd
--- syslogd-cgi-0.2.2.ori/root/etc/init.d/rc.syslogd    2008-01-10 11:45:17.000000000 +0100
+++ syslogd-cgi-0.2.2/root/etc/init.d/rc.syslogd        2008-01-10 12:10:35.000000000 +0100
@@ -67,8 +67,14 @@
        $DAEMON $SYSLOGD_OPTIONS $SYSLOGD_EXPERT_OPTIONS > /dev/null 2>&1
        exitval1=$?

+       KLOGDOPTIONS=""
+       if [ ! -z "$SYSLOGD_KLOGD_LEVEL" ]; then
+           KLOGDOPTIONS = "-c $SYSLOGD_KLOGD_LEVEL"
+       fi
+
        if [ "$SYSLOGD_KLOGD" = "yes" ]; then
-               /sbin/klogd > /dev/null 2>&1
+               /sbin/klogd $KLOGDOPTIONS > /dev/null 2>&1
+
        fi
        exitval2=$?

diff -Nur syslogd-cgi-0.2.2.ori/root/usr/lib/cgi-bin/syslogd.cgi syslogd-cgi-0.2.2/root/usr/lib/cgi-bin/syslogd.cgi
--- syslogd-cgi-0.2.2.ori/root/usr/lib/cgi-bin/syslogd.cgi      2008-01-10 12:11:41.000000000 +0100
+++ syslogd-cgi-0.2.2/root/usr/lib/cgi-bin/syslogd.cgi  2008-01-10 12:23:52.000000000 +0100
@@ -102,6 +102,7 @@
 <h2>
 <input id="r12" type="checkbox" name="klogd" value="yes"$klogd_chk>
 <label for="r12">Kernel-Log D&auml;mon aktivieren</label>
+&nbsp; &nbsp; Loglevel klogd: <input id="new_id" type="text" name="klogd_level" size="2" maxlength="1" value="$(httpd -e "$SYSLOGD_KLOGD_LEVEL")">
 </h2>
 <h2>Zus&auml;tzliche Kommandozeilen-Optionen (f&uuml;r Experten):</h2>
 <label for="r8">Optionen:</label>

Jörg
 
Zuletzt bearbeitet:
Danke für die Komplettlösung mit GUI

Hallo MaxMuster,

vielen Dank für Deine Antwort und die Komplettlösung mit GUI :)

Ich bin derzeit in der Ferne und greife nur Remote auf meine Zentralbox mit dem syslogd zu. Sobald ich wieder am Standort bin, werde ich das Image mit dem Patch einspielen, testen und hier berichten.

Vielleicht kann Dein Patch ja auch im nächsten DS-MOD berücksichtigt werden.

Grüße,
DSLFritze
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.