cRPDアプリケーションのデバッグ
トラブルシューティングは、問題を解決するための体系的なアプローチです。トラブルシューティングの目的は、想定通りに機能しない理由と、問題を解決する方法を決定することです。
コマンドライン インターフェイス
Junos OSコマンドラインインターフェイス(CLI)は、ルーターハードウェア、Junos OS、ルーティングプロトコル、ネットワーク接続を制御およびトラブルシューティングするための主要ツールです。CLI コマンドは、ルーティング テーブルからの情報、ルーティング プロトコル固有の情報、ユーティリティから取得したネットワーク接続に関する情報を traceroute
表示します。RPD トレースログ機能は、CLI を介してサポートされ、有効になっています。トレース ログ ファイルには、パスが格納されます /var/log
。
次の Junos CLI コマンドを使用して cRPD のトラブルシューティングを行うことができます。
-
show task
:ルーティング エンジン上のルーティング プロトコル タスクを表示します。 -
show task memory detail
:ルーティング エンジン上のルーティング プロトコル タスクのメモリ使用率を表示します。 -
show route
: ルーティングテーブル内のアクティブなエントリーを表示します。 -
show bfd
: アクティブな BFD(双方向転送検出)セッションに関する情報を表示します。 -
show bgp
:すべてのルーティング インスタンスの BGP 概要情報に関する情報を表示します。 -
show (ospf | ospf3)
:すべてのルーティング インスタンスのすべての OSPF ネイバーに関する標準情報を表示します。 -
show interfaces routing
:ルーター診断を実行します。 -
show log
:システム アクティビティ ログを表示し、パフォーマンスの監視、トラブルシューティング、デバッグの目的で情報を監視および表示できます。 -
show krt
: KRT キューとその状態を監視します。 -
show programmable-rpd
:プログラム可能なルーティング プロトコル プロセス(prpd)サーバーに接続されたクライアントをリストします。prpdは、ルーティングシステムをプログラムするパブリックAPIを提供し、ユーザーがAPIに直接アクセスして、ネットワークの動作をカスタマイズ、作成、変更することを可能にします。 -
ip monitor
:Linux FIB、インターフェイス イベント、および netlink メッセージへのルートのインストールを監視します。 -
tcpdump
:コントロールプレーン間のネットワークトラフィックをキャプチャします。 -
netstat
:ソケットを監視します。 -
request support information
:トラブルシューティングに使用されるサポート情報を表示します。
障害処理
何らかの問題でrpdがクラッシュすると、rpdプロセスは自動的に再起動されます。障害から手動で回復するには、以下の CLI コマンド階層を実装して障害を処理できます。
-
restart routing
:rpd を再起動します。 -
clear bgp
:BGP セッションをクリアします。 -
deactivate
: CLI 設定を無効にします。 -
activate
: CLI 設定をアクティブにします。
コンテナのトラブルシューティング
cRPDがDockerコンテナとして展開された場合、さまざまなdockerコマンドを実装して、コンテナレベルで問題を監視およびトラブルシューティングできます。
-
docker ps
:アクティブなコンテナとその状態をリストアウトします。 -
docker stats
:リソースの使用率を継続的に監視します。 -
docker logs
:コンテナが予期せず終了した場合に、コンテナログを抽出します。 -
docker stop
:Docker を現在の状態から停止します。 -
docker start
:Docker コンテナを再起動します。
Docker の検証
コア ファイルの表示
目的
コアファイルが生成されると、 /var/crashで出力を見つけることができます。生成されたコア ファイルは、Docker コンテナをホストしているシステムに保存されます。
また、ping と ping6 を使用して、シェル モードでの到達可能性を確認することもできます。
アクション
コア ファイルを一覧表示するには、以下の手順にしたがっています。
-
CLI 環境から出て、ホスト UNIX シェルに戻ります。
user@host> start shell
-
ディレクトリを /var/crash に変更します。
root@ubuntu-vm18$ cd /var/crash
root@ubuntu-vm18$ ls -l
-
コマンドを実行して、コア ファイルの場所を識別します。
root@ubuntu-vm18$ sysctl kernel.core_pattern
-
クラッシュの前後に作成されたコア ファイルを確認します。
Syslog の設定
Syslogはデフォルトで有効になっており、メッセージはローカルルーティングエンジンに保存されている /var/log/メッセージ ファイルに保存されます。
リモート syslog を設定するには:
ログ メッセージを表示するには、以下の手順にしたがっています。
-
以下のコマンドを使用して、ログメッセージを表示できます。
root@crpd1> show log messages
「」も参照
難読化($9$)または暗号化($8$)パスワードのプレーンテキストバージョンを表示
root@crpd1> request system decrypt password
詳細については、 システム暗号化解除パスワードの要求を参照してください。