1.5. netconsole の設定

ディスクへのログの記録に失敗した場合や、シリアルコンソールが使用できない場合は、カーネルデバッグの使用が必要になる場合があります。netconsole カーネルモジュールを使用すると、カーネルメッセージのログを、ネットワーク上の別のコンピューターに記録できます。
netconsole を使用できるようにするには、ネットワークに適切に設定されている rsyslog サーバーが必要です。

手順1.1 netconsole 用 rsyslog サーバーの構成

  1. /etc/rsyslog.conf ファイルの MODULES セクションにある以下の行をアンコメントし、514/udp ポートをリッスンしてネットワークからメッセージを受け取るように rsyslogd を設定します。
    $ModLoad imudp
    $UDPServerRun 514
  2. rsyslogd サービスを再起動して、変更を有効にします。
    ]# systemctl restart rsyslog
  3. rsyslogd が、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 送信元マシンの設定

  1. /etc/sysconfig/netconsole ファイルの SYSLOGADDR 変数の値を、syslogd サーバーの IP アドレスと一致するように設定します。以下に例を示します。
    SYSLOGADDR=192.168.0.1
  2. netconsole サービスを再起動して、変更を有効にします。
    ]# systemctl restart netconsole.service
  3. システムを再起動した後に netconsole.service を実行できるようにします。
    ]# systemctl enable netconsole.service
  4. /var/log/messages ファイル (デフォルト)、または rsyslog.conf で指定したファイルにある、クライアントの netconsole メッセージを表示します。
    ]# cat /var/log/messages

注記

デフォルトでは、rsyslogd および netconsole.service はポート 514 を使用します。別のポートを使用するには、/etc/rsyslog.conf で次の行を、必要なポート番号に変更します。
$UDPServerRun <PORT>
送信元マシンで、/etc/sysconfig/netconsole ファイルの以下の行をアンコメントして編集します。
SYSLOGPORT=514
netconsole 設定の詳細およびトラブルシューティングのヒントについては、Netconsole カーネルのドキュメント を参照してください。