1.5. netconsoleの設定
ディスクへのログの記録に失敗した場合や、シリアルコンソールを使用できない場合は、カーネルデバッグの使用が必要になる場合があります。
netconsole カーネルモジュールを使用すると、ネットワークを介して別のコンピューターにカーネルメッセージをログに記録できます。
netconsole を使用できるようにするには、ネットワークに適切に設定された rsyslog サーバーが必要です。
手順1.1 netconsole 用 rsyslog サーバーの設定
/etc/rsyslog.confファイルのMODULESセクションで次の行のコメントを解除して、514/udp ポートをリッスンし、ネットワークからメッセージを受信するようにrsyslogdデーモンを設定します。$ModLoad imudp $UDPServerRun 514rsyslogdサービスを再起動して、変更を適用します。]# systemctl restart rsyslogrsyslogdが 514/udp ポートでリッスンしていることを確認します。]# netstat -l | grep syslog udp 0 0 0.0.0.0:syslog 0.0.0.0:* udp6 0 0 [::]:syslog [::]:*netstat -l 出力の0.0.0.0:syslogおよび[::]:syslog値は、rsyslogdが/etc/servicesファイルで定義されたデフォルトのnetconsoleポートでリッスンしていることを意味します。]$ 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 syslog-tls 6514/udp # Syslog over TLS syslog-tls 6514/dccp # Syslog over TLS
Netconsole は、initscripts パッケージの一部である /etc/sysconfig/netconsole ファイルを使用して設定されます。このパッケージはデフォルトでインストールされ、netconsole サービスも提供します。
送信元マシンを設定する場合は、次の手順に従ってください。
手順1.2 送信元マシンの設定
/etc/sysconfig/netconsoleファイルのSYSLOGADDR変数の値を、syslogdサーバーの IP アドレスに一致するように設定します。以下に例を示します。SYSLOGADDR=192.168.0.1- 変更を有効にするために
netconsoleサービスを再起動します。]# systemctl restart netconsole.service - システムを再起動した後に
netconsole.serviceを実行できるようにします。]# systemctl enable netconsole.service - クライアントからの
netconsoleメッセージを/var/log/messagesファイル(デフォルト)またはrsyslog.confで指定されたファイルで表示します。]# cat /var/log/messages
注記
デフォルトでは、
rsyslogd および netconsole.service はポート 514 を使用します。別のポートを使用するには、/etc/rsyslog.conf の以下の行を、必要なポート番号に変更します。
$UDPServerRun <PORT>
送信マシンで、
/etc/sysconfig/netconsole ファイルで以下の行のコメントを解除して編集します。
SYSLOGPORT=514
netconsole 設定およびトラブルシューティングのヒントに関する詳細は、Netconsole Kernel Documentation を参照してください。