J'utilise Centos 6, la journalisation rsyslog. La console est inondée de messages du noyau.
- Klogd n'est pas en cours d'exécution (j'utilise rsyslog)
- La configuration de Rsyslog ne dirige rien vers la console
- Même essayé d'arrêter complètement rsyslog
Il y a encore quelque chose qui inonde ma console de messages de journalisation du noyau. Qu'est-ce que c'est et comment puis-je l'arrêter?
Mise à jour : Ce sont les messages générés par le noyau (matériel, iptables, etc.), des choses qui sortent /proc/kmsg
, comme ceci:
Shorewall: pub2loc: DROP: IN = br0 OUT = MAC = xxx SRC = xxx DST = xxx LEN = 60 TOS = 0x00 PREC = 0x00 TTL = 128 ID = 15731 DF PROTO = TCP SPT = 63767 DPT = 3493 FENÊTRE = 8192 WINDOW = 8192 RES = 0x00 SYN URGP = 0
xterm
fenêtre, donc si la console est inondée, cela ne me dérange pas.)Réponses:
Je vous suggère de modifier votre
/etc/sysctl.conf
. Spécifiquement, vous voulez peaufiner la ligne kernel.printk .Je ne sais pas quels sont les paramètres par défaut du centos, mais il semble probable que les choses soient plus détaillées que nécessaire.
Consultez également la section shorewall sur la journalisation. Vous n'avez pas besoin d'utiliser la cible LOG pour la journalisation, vous pouvez utiliser d'autres outils, ou ajuster la sévérité du journal et ajuster les choses pour contrôler où vont vos messages.
la source
Pour définir les valeurs à l'exécution, utilisez
sysctl
. (Je suppose que l'on peut aussi écrire/proc/sys/kernel/printk
directement et apparemment vous pouvez aussi utiliser cedmesg -n CUR
qui est décrit ici )Afficher:
Les séparateurs dans la sortie sont des onglets simples, btw.
Ensemble. Ici les séparateurs ne sont que des espaces. Fonctionne aussi bien.
Voir
man sysctl
- "configurer les paramètres du noyau au moment de l'exécution" pour plus d'informations.Rappel des niveaux de gravité et des quatre valeurs de kernel.printk données par Brian ci-dessus:
Sur mon CentOS: 7 4 1 7
C'est trop bruyant, je veux juste critique et en place (pas d'erreurs). Les messages sans étiquette doivent être considérés comme des avertissements, donc DEF est bon:
Régler sur: 3 4 1 3
la source
man klogctl
explique également les niveaux.J'ai trouvé cela utile aussi. Sur les distributions basées sur RHEL, vous pouvez
cat /proc/sys/kernel/printk
voir quels sont vos paramètres actuels.Le fichier printk contient quatre valeurs. Chacune de ces valeurs définit une règle différente pour traiter les messages d'erreur. La première valeur, appelée niveau de consignation de la console, définit la priorité la plus basse des messages imprimés sur la console. (Notez que plus la priorité est basse, plus le numéro de niveau de journalisation est élevé.) La deuxième valeur définit le niveau de journalisation par défaut pour les messages auxquels aucun niveau de journalisation n'est attaché. La troisième valeur définit la configuration de niveau de journalisation la plus basse possible pour le niveau de journalisation de la console. La dernière valeur définit la valeur par défaut pour le niveau de log de la console.
L'utilisation du paramètre LOGLEVEL dans / etc / sysconfig / init pour définir le niveau de journalisation de la console n'est plus prise en charge. Pour définir le niveau de journalisation de la console dans Red Hat Enterprise Linux 6, transmettez loglevel = 'en tant que paramètre de temps de démarrage. Par exemple, loglevel = 6 imprimera tous les messages inférieurs à 6 (pas tout à fait inférieurs à).
Crédit à:
la source
Voici la façon "officielle" de le faire, selon RedHat :
la source
Vous pouvez également supprimer temporairement toute la journalisation du noyau sur la console en utilisant:
Voir aussi: https://askubuntu.com/questions/97256/how-do-i-disi-disable-messages-or-logging-from-printing-on-the-console-virtual-termin
la source
Ce que vous voyez sont des messages de journal du noyau imprimés sur la console. Les messages de journal qui parviennent à la console dépendent du niveau de journal de la console actuellement défini.
Lorsque la cmdline du noyau inclut le
quiet
paramètre kernel, le niveau de journal de la console obtenu est4
(c'est-à-dire les erreurs et les erreurs). Sans cela, il est réglé sur7
(c.- à -d. Info et pire).Vous pouvez afficher les paramètres de noyau actifs avec
cat /proc/cmdline
et votre niveau de journal de console actuel avecsysctl kernel.printk
. Il peut être modifié dynamiquement avecdmesg -n X
(ou même avecsysctl -w
).Pour rendre la modification permanente, vous pouvez ajouter des paramètres de noyau à cmdline (par exemple
quiet
et / ouloglevel=X
) et ajouter un.conf
fichier sysctl sous/etc/sysctl.d
.Le paramètre du noyau peut être ajouté comme ceci:
la source
Comme il s’agit d’un site lié au débordement de pile, je commencerai par dire que vous ne devez pas désactiver la sortie, vous devez corriger les erreurs.
Si vous êtes dans une console et que vous ne pouvez même pas voir ce que vous faites à cause des messages, essayez de taper ceci.
sudo dmesg -D
Cela devrait le rendre suffisamment calme pour examiner les autres solutions.
la source
Si vous êtes dans un véritable embouteillage, vous pouvez simplement désactiver temporairement le service Syslog au cas où il y aurait une telle inondation que vous ne pourriez plus rien voir ou taper correctement.
la source