11.9. Configuring netconsole
The
netconsole kernel module enables logging of kernel messages over the network to another computer. It allows kernel debugging when disk logging fails or when using the serial console is not possible.
Configuring a Listening Machine
To enable receiving
netconsole logging messages, install the rsyslog package:
yum install rsyslog
]# yum install rsyslog
To configure
rsyslogd to listen on the 514/UDP port and receive messages from the network, uncomment the following lines in the MODULES section of /etc/rsyslog.conf:
$ModLoad imudp $UDPServerRun 514
$ModLoad imudp
$UDPServerRun 514
Restart the
rsyslogd service for the changes to take effect:
service rsyslog restart
]# service rsyslog restart
To verify that
rsyslogd is listening on the 514/udp port, use the following command:
netstat -l | grep syslog
]# netstat -l | grep syslog
udp 0 0 *:syslog *:*
udp 0 0 *:syslog *:*
The
0 *:syslog value in the netstat -l output mean that rsyslogd is listening on default netconsole port, which is defined in the /etc/services file:
]$ cat /etc/services | grep syslog syslog 514/udp syslog-conn 601/tcp # Reliable Syslog Service syslog-conn 601/udp # Reliable Syslog Service syslog-tls 6514/tcp # Syslog over TLS
]$ cat /etc/services | grep syslog
syslog 514/udp
syslog-conn 601/tcp # Reliable Syslog Service
syslog-conn 601/udp # Reliable Syslog Service
syslog-tls 6514/tcp # Syslog over TLS
Configuring a Sending Machine
In Red Hat Enterprise Linux 6,
netconsole is configured using the file /etc/sysconfig/netconsole, which is part of the initscripts package. This package is installed by default and it also provides the netconsole service.
To configure a sending machine, set the value of the
SYSLOGADDR variable in the /etc/sysconfig/netconsole file to match the IP address of the syslogd server, for example:
SYSLOGADDR=192.168.0.1
SYSLOGADDR=192.168.0.1
Restart the
netconsole service so the changes take effect. Then, use the chkconfig command to ensure netconsole service starts automatically after next reboot:
service netconsole restart chkconfig netconsole on
]# service netconsole restart
Initializing netconsole [ OK ]
]# chkconfig netconsole on
By default, the
rsyslogd server writes the netconsole messages from the client in /var/log/messages or in the file specified in rsyslog.conf.
Note
To set
rsyslogd and netconsole to use a different port, change the following line in /etc/rsyslog.conf to the desired port number:
$UDPServerRun <PORT>
$UDPServerRun <PORT>
On the sending machine, uncomment and edit the following line in the
/etc/sysconfig/netconsole file:
SYSLOGPORT=514
SYSLOGPORT=514
For more information about
netconsole configuration and troubleshooting tips, see Netconsole Kernel Documentation.