Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Netconsoleのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Netconsole
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:カーネル]] [[Category:ネットワーク]] [[en:Netconsole]] [[ru:Netconsole]] [[zh-CN:Netconsole]] '''netconsole''' はカーネルのログメッセージ (dmesg) をネットワークを通して他のコンピュータに送信するカーネルモジュールです。ユーザー空間は使いません (例: syslogd)。"netconsole" という名前は紛らわしいですが"コンソール"ではなく、実際は遠隔ログサービスに似ています。 ビルトインまたはモジュールとして使うことができます。ビルトインの ''netconsole'' は NIC カードが立ち上がって指定したインターフェイスが使えるようになったらすぐに初期化されます。モジュールは主としてヘッドレスマシンからカーネルパニックの出力をキャプチャするのに使います。もしくはユーザー空間が機能しなくなった場合に用います。 ドキュメントは Linux のカーネルツリー [https://www.kernel.org/doc/Documentation/networking/netconsole.txt Documentation/networking/netconsole.txt] にあります。 == センダーの設定 == === ビルトイン設定 === Netconsole は以下のように {{ic|netconsole}} [[カーネルパラメータ]]で設定することができます: netconsole=[src-port]@[src-ip]/[<dev>],[tgt-port]@<tgt-ip>/[tgt-macaddr] それぞれのフィールドの意味は: * {{ic|src-port}} — UDP パケットのソース (デフォルトは 6665) * {{ic|src-ip}} — 使用するソース IP (インターフェイスアドレス) * {{ic|dev}} — ネットワークインターフェイス (eth0) * {{ic|tgt-port}} — ログエージェントのポート (6666) * {{ic|tgt-ip}} — ログエージェントの IP アドレス * {{ic|tgt-macaddr}} — ログエージェントのイーサネット MAC アドレス (broadcast) 例: netconsole=6665@192.168.1.28/eth0,6666@192.168.1.19/00:13:32:20:r9:a5' {{Note|MAC アドレスは任意ですが、スラッシュは必要です: {{ic|...,6666@192.168.1.19/}}。}} ログレベルは {{ic|loglevel}} カーネルパラメータで設定することができます、例: loglevel=7 === ランタイム設定 === Netconsole は起動後に''カーネルモジュール''として手動でロードしたり、モジュール設定によって起動時に自動的にロードさせることができます (詳しくは[[カーネルモジュール]]を参照)。 起動後に手動で {{ic|netconsole}} モジュールをロードするには: {{bc|<nowiki> # set log level for kernel messages dmesg -n 8 modprobe configfs modprobe netconsole mount none -t configfs /sys/kernel/config # 'netconsole' dir is auto created if the module is loaded 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 # set local network device name (find it trough ifconfig, examples: eth0, eno1, wlan0) echo eno1 > dev_name # find destination MAC address arping $(cat remote_ip) -f | grep -o ..:..:..:..:..:.. > remote_mac echo 1 > enabled </nowiki>}} これで Netconsole が設定されます。確認するには、{{ic|<nowiki>dmesg | tail</nowiki>}} を実行してください。"netconsole: network logging started" と表示されるはずです。利用可能なログレベルは {{ic|dmesg -h}} を実行することで確認できます。 == レシーバの設定 == [[公式リポジトリ]]から {{pkg|gnu-netcat}} または {{pkg|socat}} をインストールしてください。 nc -u -l 6666 もしくは: nc -u -l -p 6666 ロギングは ''syslog-ng'' など Arch Linux で設定されたロガーによって行われるため、利用可能なログレベル (出力の詳細) はロガーのドキュメントで定義され、ログタイプによって異なる可能性があります。カーネルランタイムに ''netconsole'' パラメータを指定することで (設定ファイルは必要ありません)、監視する PC で2つの ''netconsole'' インスタンスを起動して (片方は出力を読み取り、片方は入力を読み取る)、ランタイム設定のようにログを取る PC やデバイスのインスタンスを再起動できます: # set log level for kernel messages dmesg -n 8 netconsole=6666@192.168.1.28/eth0,6666@192.168.1.19/00:13:32:20:r9:a5 {{Note|MAC アドレスは任意です。}} nc -l -u -p 6666 & nc -u 192.168.1.28 6666 # socat as alternative to nc in one command socat - udp4-datagram:192.168.1.28:6666,bind=6666 ''Netconsole'' でデータを監視・入力するためには、PC やルーターのファイアウォールを無効化して、ルーターの転送ポートを適切に設定する必要があります。netconsole を [http://archlinuxarm.org/forum/viewtopic.php?f=18&t=3355 別のサブネット] でセットアップする場合は柔軟な設定をすることができ、別のネットワーク IP にデバイスを移動してもクラッシュしませんが、イーサネットインターフェイスにエイリアスを設定する [http://archlinuxarm.org/platforms/armv5/seagate-goflex-home#qt-platform_tabs-ui-tabs3 複雑な設定] をレシーバにする必要があります。 == 使用方法 == 古いノートパソコンやシンクライアントなど、動作が遅いコンピュータをデバッグするときは、netconsole エントリを[[カーネルパラメータ]]に記述すると役に立つでしょう。簡単に使うことができます: # {{ic|syslog.conf}} を使ってリモートホストの syslog リクエストを受け入れるように (Arch が動作する) 他のコンピュータを設定。 # {{ic|/var/log/everything.log}} ファイルでログを確認。 # デバッグするコンピュータに、{{ic|1=netconsole=514@10.0.0.2/12:34:56:78:9a:bc}} のようなカーネルパラメータを追加 (デバッグしたいパラメータも追加してください)。 # コンピュータを再起動してログを確認する。
Netconsole
に戻る。
検索
検索
Netconsoleのソースを表示
話題を追加