Difference between revisions of "Netconsole"
Kynikos.bot (talk | contribs) (remove language suffix from Category:Networking (English), see Talk:Table of Contents#English Category Names: Capitalization and Conflict with i18n) |
|||
Line 1: | Line 1: | ||
[[Category:Kernel]] | [[Category:Kernel]] | ||
[[Category:Networking]] | [[Category:Networking]] | ||
− | '''netconsole''' is a kernel module that sends all kernel log messages (i.e. [[dmesg]]) over the network to another computer, without involving user space (e.g. syslogd). "netconsole" is a misnomer because it's not really a "console", more like a remote logging service. | + | '''netconsole''' is a kernel module that sends all kernel log messages (i.e. [[dmesg]]) over the network to another computer, without involving user space (e.g. syslogd). Name "netconsole" is a misnomer because it's not really a "console", more like a remote logging service. |
− | netconsole is mainly used for capturing kernel panic output from a headless machine, or in other situations where the user space is no more functional. | + | It can be used either built-in or as a module. As a built-in, ''netconsole'' initializes immediately after NIC cards and will bring up the specified interface as soon as possible. ''Netconsole'' is mainly used for capturing kernel panic output from a headless machine, or in other situations where the user space is no more functional. |
Documentation is available in the Linux kernel tree under '''[http://lxr.linux.no/linux+v2.6.32/Documentation/networking/netconsole.txt Documentation/networking/netconsole.txt]''' | Documentation is available in the Linux kernel tree under '''[http://lxr.linux.no/linux+v2.6.32/Documentation/networking/netconsole.txt Documentation/networking/netconsole.txt]''' | ||
+ | |||
+ | |||
+ | == Build-in Configuration == | ||
+ | |||
+ | ''Netconsole'' and other modules [[Kernel parameters]] can be passed from a bootloader when starting the kernel by modifying bootloader configuration file. Such modification is bootloader type and version specific. Or they can be passed at runtime: | ||
+ | |||
+ | <pre> | ||
+ | # set log level for kernel messages | ||
+ | dmesg -n 8 | ||
+ | |||
+ | netconsole=6665@192.168.0.111/eth0,6665@192.168.0.17/00:43:24:96:d7:v5 | ||
+ | </pre> | ||
== Dynamic configuration == | == Dynamic configuration == |
Revision as of 01:07, 29 August 2012
netconsole is a kernel module that sends all kernel log messages (i.e. dmesg) over the network to another computer, without involving user space (e.g. syslogd). Name "netconsole" is a misnomer because it's not really a "console", more like a remote logging service.
It can be used either built-in or as a module. As a built-in, netconsole initializes immediately after NIC cards and will bring up the specified interface as soon as possible. Netconsole is mainly used for capturing kernel panic output from a headless machine, or in other situations where the user space is no more functional.
Documentation is available in the Linux kernel tree under Documentation/networking/netconsole.txt
Build-in Configuration
Netconsole and other modules Kernel parameters can be passed from a bootloader when starting the kernel by modifying bootloader configuration file. Such modification is bootloader type and version specific. Or they can be passed at runtime:
# set log level for kernel messages dmesg -n 8 netconsole=6665@192.168.0.111/eth0,6665@192.168.0.17/00:43:24:96:d7:v5
Dynamic configuration
# set log level for kernel messages dmesg -n 8 modprobe configfs modprobe netconsole mount none -t configfs /sys/kernel/config mkdir /sys/kernel/config/netconsole/target1 cd /sys/kernel/config/netconsole/target1 # set local IP address echo 192.168.0.111 > local_ip # set destination IP address echo 192.168.0.17 > remote_ip # find destination MAC address arping `cat remote_ip` -f |grep -o ..:..:..:..:..:.. > remote_mac echo 1 > enabled
netconsole should now be configured. To verify, run 'dmesg |tail' and you should see "netconsole: network logging started"
Receiver
nc -u -l 6666
or
nc -u -l -p 6666