Kernel loglevel.

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
inne
Beiträge: 3290
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Kernel loglevel.

Beitrag von inne » 12.07.2014 07:03:47

Hallo.

Wie Meldungen wie diese Abschalten?

Code: Alles auswählen

Jul 12 02:37:02 linux wpa_supplicant[2251]: wlan0: WPA: Group rekeying completed with xx:xx:xx:xx:xx:xx [GTK=CCMP]
Das scheint mir eine reine notice/info-Melgung zu sein wie diese:
http://forum.ubuntuusers.de/topic/no-active-ibss-stas-trying-to-scan-for-other-i/ hat geschrieben:

Code: Alles auswählen

Jun 21 07:29:27 linux kernel: [403877.088103] wlan0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Kann man den Kernel und wpa_supplicant anweisen das sein zu lassen?

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Re: Kernel loglevel.

Beitrag von Saxman » 12.07.2014 10:24:09

Den Kernel Loglevel kannst du beim bauen des Kernels festlegen:

Code: Alles auswählen

CONFIG_DEFAULT_MESSAGE_LOGLEVEL=
Alternativ lässt sich das als kernel boot option mitgeben:

Code: Alles auswählen

loglevel=
Dynamisch wiederum über:

Code: Alles auswählen

echo $NUM > /proc/sys/kernel/printk
https://www.kernel.org/doc/Documentation/kernel-parameters.txt hat geschrieben: loglevel= All Kernel Messages with a loglevel smaller than the
console loglevel will be printed to the console. It can
also be changed with klogd or other programs. The
loglevels are defined as follows:

0 (KERN_EMERG) system is unusable
1 (KERN_ALERT) action must be taken immediately
2 (KERN_CRIT) critical conditions
3 (KERN_ERR) error conditions
4 (KERN_WARNING) warning conditions
5 (KERN_NOTICE) normal but significant condition
6 (KERN_INFO) informational
7 (KERN_DEBUG) debug-level messages
Wenn du nur einzelne Nachrichten herausfilter willst und logcheck nutzt, kannst du das noch durch ein entsprechendes logcheck script unter /etc/logcheck/ignore.d.workstation/ erledigen lassen:
"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

inne
Beiträge: 3290
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Kernel loglevel.

Beitrag von inne » 12.07.2014 12:40:30

Ja ich nutze logcheck. Möchte das aber erst als letzte Option konfigurieren. Eher würde ich noch rsyslog entsprechend umstellen falls das möglich ist. Ich bin mir noch nicht sicher wo ich ansetzen muss.

Das printk scheint sich nur auf die Logmeldungen zu beschränken, die dirket auf/in die Konsole geschrieben werden. Ich möchte gern das alle Meldungen der Loglevel 5-6 nicht im Log stehen damit syslog diese nicht anzeigt. Vom Kernel. Dritt Programme werde ich wohl seperat konfiguieren müssen.

Ich muss also den Kernelparameter loglevel=4 in /etc/default/grub setzen?

Code: Alles auswählen

grep GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="GRUB_CMDLINE_LINUX_DEFAULT quiet"
GRUB_CMDLINE_LINUX_DEFAULT="GRUB_CMDLINE_LINUX_DEFAULT loglevel=4"
GRUB_CMDLINE_LINUX_DEFAULT="GRUB_CMDLINE_LINUX_DEFAULT apparmor=1 security=apparmor"
Werde nun mal neustarten und sehen was mir logcheck in einer Stunde zuschickt.

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Re: Kernel loglevel.

Beitrag von Saxman » 12.07.2014 13:08:22

inne hat geschrieben: Werde nun mal neustarten und sehen was mir logcheck in einer Stunde zuschickt.
So lange musst du nicht warten. Wenn du logcheck vorher anstoßen möchtest:

Code: Alles auswählen

su -s /bin/bash -c "/usr/sbin/logcheck" logcheck
Die Configoption für Grub schaut richtig aus. Rsyslog kannst du sicher auch konfigurieren. Außerdem wird auch systemd noch ein Wörtchen beim logen mitreden.
"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

inne
Beiträge: 3290
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Kernel loglevel.

Beitrag von inne » 12.07.2014 14:59:17

Saxman hat geschrieben: So lange musst du nicht warten. Wenn du logcheck vorher anstoßen möchtest:

Code: Alles auswählen

su -s /bin/bash -c "/usr/sbin/logcheck" logcheck
Danke für den Befehl. Ich habe damit mal einen Starter eingerichtet. Aber es sind die Logmeldungen, die auf sich warten lassen. Ich kann das Loglevel der Meldungen z.Z. nur Raten, weil ich zu unbeholfen bin dafür in linux-source zu suchen/greppen...

Ansonsten sind deine Ansätze alle für die Meldunden auf/in der Konsole selbst. Das hatte ich schon via sysctl.conf eingestellt.

Damit das Log nicht von Treibermeldungen etc. zugemüllt wird, muss rsyslog konfiguriert werden.

Fürs Protokoll. Es wird ab notice, wohl wichtig: KERN_NOTICE Situationen, die zwar normal, aber trotzdem beachtenswert. Eine Reihe von sicherheitsrelevanten Zuständen wird auf diesem Level gemeldet.

INFO und DEBUG wollte ich weghaben und hab dafür in /etc/rsyslog.conf folgendes gestetzt:

Code: Alles auswählen

*.notice;auth,authpriv.none             -/var/log/syslog
kern.notice                             -/var/log/kern.log
Das scheint mir die Lösung zu sein?

Fürs Debuggen werden INFO und DEBUG aber weiterhin live auf /dev/xconsole gedruckt. Nur nicht im Log gespeichert. Denke das Setup ist so OK.

Jemand anderer Meinung? ;-)

Danke,
Inne

inne
Beiträge: 3290
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Kernel loglevel.

Beitrag von inne » 12.07.2014 19:02:26

Saxman hat geschrieben: Wenn du nur einzelne Nachrichten herausfilter willst und logcheck nutzt, kannst du das noch durch ein entsprechendes logcheck script unter /etc/logcheck/ignore.d.workstation/ erledigen lassen:
Das ist am Ende dann doch die Lösung. Denn die Meldungen sind wohl oberhalb von NOTICE angesiedelt. Das sollte man wohl eher nicht global weg-filtern.


Ist für die Meldung:
inne hat geschrieben:

Code: Alles auswählen

Jul 12 02:37:02 linux wpa_supplicant[2251]: wlan0: WPA: Group rekeying completed with xx:xx:xx:xx:xx:xx [GTK=CCMP]
Das ein Sinnvoller Regex?

Code: Alles auswählen

cat /etc/logcheck/ignore.d.workstation/local-wpa_supplicant
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ wpa_supplicant\[[0-9]+\]: wlan[0-9]+: WPA: Group rekeying completed with [0-9A-F:]{17} \[GTK=CCMP\]
Bei so umfangreichen Sachen, erscheinen mir Regexe immer als sehr wackelig. Auch wenn hier nicht wircklich etwas davon abhängt....

Die Kontrolle zeigt, mir das es wohl schomal OK ist. Der Match passt.

Code: Alles auswählen

egrep -f /etc/logcheck/ignore.d.workstation/local-wpa_supplicant /var/log/syslog
BTW: Die Anleitung von Agent Bob erscheint mir als Einstieg schon ganz gut:
http://www.agentbob.info/agentbob/g3/83-AB.html

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Kernel loglevel.

Beitrag von Cae » 13.07.2014 05:52:07

inne hat geschrieben:Das ein Sinnvoller Regex?
Ich denke schon, noch ein $ an's Ende und es passt so. Man koennte noch drueber streiten, ob man wlan[0-9]+ lieber durch [[:alnum:]]+ ersetzt, weil ich mein Interface auch bla42fasel nennen koennte. Wenn das bei dir nicht auftreten kann, sollte man's bleiben lassen.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

inne
Beiträge: 3290
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Kernel loglevel.

Beitrag von inne » 13.07.2014 09:50:33

Gut das ist hier nicht der Fall. Aber:
Ich habe nun gesehen das im Profiel workstation dafür schon eine Regel vorgesehen ist und auch REPORTLEVEL="workstation" auf meinem Desktop-Laptop gesetzt.
Nur ist die Regel fehlerhaft und greift laut logcheck-test -r ignore.d.workstation/wpasupplicant -l /var/log/syslog nicht.

Code: Alles auswählen

grep $MATCH ignore.d.workstation/wpasupplicant
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ wpa_supplicant\[[0-9]+\]: WPA: Group rekeying completed with ([0-9a-f]{2}:){5}[0-9a-f]{2} \[GTK=(CCMP|TKIP)\]$
Es fehlt die Angabe des Interface vor "WPA:". Kann das bitte jemand (@Cae, @Saxman) als Bug bestätigen!? Damit klärt sich für mich das dann auch einwenig.
Eine Lösung hat Cae ja aufgezeigt.

Wenns ein Bug sein sollte bitte Reportet ihn doch auch. Meine Lösung oben kann ja dann nur als Work-A-Round angesehen werden.

Edit: Die anderen wpasupplicant Regeln sollten dann abgesehen von wpa_action vllt. auch fehlerhaft sein!

Inne

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Re: Kernel loglevel.

Beitrag von Saxman » 13.07.2014 10:35:04

inne hat geschrieben: Es fehlt die Angabe des Interface vor "WPA:". Kann das bitte jemand (@Cae, @Saxman) als Bug bestätigen!? Damit klärt sich für mich das dann auch einwenig.
Ich habe kein WLAN auf dem Rechner zum testen, aber die Regel schaut unter jessie/sid zumindest gleich aus.

Code: Alles auswählen

^\w{3} [ :0-9]{11} [._[:alnum:]-]+ wpa_supplicant\[[0-9]+\]: WPA: Group rekeying completed with ([0-9a-f]{2}:){5}[0-9a-f]{2} \[GTK=(CCMP|TKIP)\]$
"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

Antworten