Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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 の検証

  1. コマンドを使用して、インストールされているDocker Engineバージョンをdocker version確認します。

    root@ubuntu-vm18:~# docker version

  2. システム内のソフトウェアとハードウェアの情報を表示します。

    root@ubuntu-vm18:~# uname -a

  3. ubuntuのバージョンを表示します。

    root@ubuntu-vm18:~# lsb_release -a

コア ファイルの表示

目的

コアファイルが生成されると、 /var/crashで出力を見つけることができます。生成されたコア ファイルは、Docker コンテナをホストしているシステムに保存されます。

また、ping と ping6 を使用して、シェル モードでの到達可能性を確認することもできます。

アクション

コア ファイルを一覧表示するには、以下の手順にしたがっています。

  1. CLI 環境から出て、ホスト UNIX シェルに戻ります。

    user@host> start shell

  2. ディレクトリを /var/crash に変更します。

    root@ubuntu-vm18$ cd /var/crash

    root@ubuntu-vm18$ ls -l

  3. コマンドを実行して、コア ファイルの場所を識別します。

    root@ubuntu-vm18$ sysctl kernel.core_pattern

  4. クラッシュの前後に作成されたコア ファイルを確認します。

Syslog の設定

Syslogはデフォルトで有効になっており、メッセージはローカルルーティングエンジンに保存されている /var/log/メッセージ ファイルに保存されます。

リモート syslog を設定するには:

  1. cRPD Linux シェルにアクセスします。
  2. /etc/rsyslog.conf ファイルを開きます。
  3. 次のファシリティ情報を追加します。

    *.* @<IP address>:<port>

    場所:<IPアドレス>はリモートsyslogサーバーのIPアドレスです。

  4. ファイルを保存します。
  5. 以下のコマンドを使用して syslog を再起動します。

    root@crpd1# service rsyslog restart

ログ メッセージを表示するには、以下の手順にしたがっています。

  1. 以下のコマンドを使用して、ログメッセージを表示できます。

    root@crpd1> show log messages

難読化($9$)または暗号化($8$)パスワードのプレーンテキストバージョンを表示

次のコマンドを使用して、設定ファイルに存在する難読化($9$)または暗号化($8$)パスワードのプレーンテキストバージョンを表示できます。

root@crpd1> request system decrypt password

詳細については、 システム暗号化解除パスワードの要求を参照してください。