Junos Space デバッグ ユーティリティの概要
Junos Spaceデバッグユーティリティを使用すると、Junos Spaceネットワーク管理プラットフォームで管理されるJunos Spaceノードとデバイスに関連する問題をデバッグし、Junos Spaceネットワーク管理プラットフォームでスケジュールされたジョブの詳細を表示できます。Junos Space デバッグユーティリティは、/ var/log/space-debug/debug-utilities に保存されているスクリプトと Java アプリケーションの集合体です。これらのスクリプトと Java アプリケーションは、deviceConnection、jobManagement、deviceImport、および HornetQ のカテゴリに分類されます。スクリプトの出力をカスタムの場所に保存できます。デフォルトでは、スクリプトの出力は、スクリプトが保存されている場所に保存されます。
デバッグには、次のスクリプトと Java アプリケーションを使用できます。
デバイス接続デバッグスクリプト
/ var/log/space-debug/debug-utilities/deviceConnection/ に保存されているデバイス接続デバッグスクリプトは、DeviceDataMatrix からデバイス接続情報を取得して表示します。DeviceDataMatrixは、Junos Spaceネットワーク管理プラットフォームデータベース内のメモリデータ構造で、デバイス接続情報を保存します。この情報は、JConsole または JMXTerm を使用して表示することもできます。
デバイス接続デバッグ スクリプトを次に示します。
getDeviceInfo.sh
getDeviceInfo.sh
は、1 つのデバイスのデバイス接続情報を収集するためのスクリプトです。スクリプトの出力には、(Junos Space Platformのデータベースに保存されているデバイスID)、デバイスのIPアドレス、デバイスが現在接続されているJunos SpaceノードのIPアドレス、デバイスの編集フラグのステータス、SSH制御チャネル番号、デバイスから開かれたチャネルの数、開いているチャネルの詳細が表示されます。
DeviceDebugInfoCollector.sh
DeviceDebugInfoCollector.sh
は、デバイスで頻繁に使用されるJunos OSデバッグコマンドを実行するためのスクリプトです。このスクリプトを実行すると、指定したJunos SpaceノードからデバイスへのSSH接続が開始されます。スクリプト出力には、デバイス上のアクティブな管理デーモン(MGD)プロセスのリスト、デバイス上のアクティブなSSHデーモン(SSHD)プロセス、デバイスからJunos Space PlatformへのアクティブなSSH接続、およびデバイスからのすべてのアクティブなSSH接続が表示されます。これらの各プロセスとSSH接続に関する追加の詳細を表示することもできます。
getAllDeviceInfo.sh
getAllDeviceInfo.sh
は、Junos Space ノードに接続されているすべてのデバイスに関するデバイス接続情報を収集するためのスクリプトです。スクリプトの出力には、(Junos Space Platformのデータベースに保存されているデバイスID)、デバイスのIPアドレス、デバイスが現在接続されているJunos SpaceノードのIPアドレス、デバイスの編集フラグのステータス、SSH制御チャネル番号、デバイスから開かれたチャネルの数、Junos Spaceノードに接続されているすべてのデバイスについてのオープンチャネルの詳細が表示されます。マルチノード設定では、すべての Junos Space ノードについて、この情報を収集することもできます。
cleanupEditChannel.sh
cleanupEditChannel.sh
は、デバイス上のデバイス設定のロックを解除するためのスクリプトです。Junos Space Platform は、Junos Space プラットフォームまたは Junos Space アプリケーションから設定を展開するときにロックを設定します。以前の展開に誤りがあり、現在 Junos Space Platform から構成を展開できない場合は、このスクリプトを使用してデバイス構成のロックを解除します。変数 false を入力して、デバイス設定のロックを解除します。
デバイス接続デバッグ スクリプトの実行の詳細については、「 デバイス接続デバッグ スクリプトの実行」を参照してください。
デバイスインポートスクリプトとJavaアプリケーション
/ var/log/space-debug/debug-utilities/deviceImport/に保存されている デバイスインポートスクリプトやJavaアプリケーションは、デバイスインポートテーブルをクリアし、デバイスインベントリ情報やデバイス設定をXML形式で取得します。
以下は、デバイスのインポートスクリプトとJavaアプリケーションです。
cleanupDeviceImportTables.sh
cleanupDeviceImportTables.sh
は、デバイスインポートテーブルからデータをクリーンアップするスクリプトです。スクリプトを実行して、デバイスの再同期プロセス中のデータエラーを修正できます。スクリプトを実行した後、ユーザーインターフェイスからデバイスとJunos Space Platformデータベースを手動で再同期する必要があります。
DB-blob-reader.jar
DB-blob-reader.jar は、デバイス情報 XML またはインターフェイス情報 XML を収集するための Java アプリケーションです。このアプリケーションを実行すると、XML からの情報が DB-blob-reader-result.txt ファイルに書き込まれます。この情報は、デバイスの再同期の問題のデバッグに役立ちます。 DB-blob-reader.properties ファイルで MySQL クエリを変更し、その MySQL クエリに基づいて情報を取得できます。 DB-blob-reader.properties ファイルで指定できるデバイス ID(Junos Space Platform データベースに格納されているデバイス)、RPC の名前、デバイス設定、またはインターフェイスです。
デバイスインポートスクリプトとJavaアプリケーションの実行の詳細については、 デバイスインポート詳細スクリプトとJavaアプリケーションの実行を参照してください。
ジョブ管理スクリプトと Java アプリケーション
/ var/log/space-debug/debug-utilities/jobManagement/ に保存されているジョブ管理スクリプトやJavaアプリケーションは、Junos Spaceノードから実行されたジョブに関する情報を取得します。スクリプトの出力は、JConsole または JMXTerm を使用して表示することもできます。
以下は、ジョブ管理スクリプトと Java アプリケーションです。
SystemLoadViewer.sh
SystemLoadViewer.sh
は、すべての Junos Space ノードで使用可能なメモリと、これらのノードでトリガーされたジョブに関する情報を収集するためのスクリプトです。スクリプト出力には、ノード上のメモリ、各ノードのルート ジョブとサブジョブの数、ジョブの種類 (ルート ジョブまたはサブジョブ)、ジョブの状態 (実行中、キューに登録されている、または停止している)、ジョブの名前、ジョブのキュー名、ジョブの作成時刻、ジョブの変更時刻などの情報が表示されます。スクリプト出力には、スクリプトの実行時に CPU とメモリを消費する上位 5 つのプロセスも表示されます。
getJobThreadSump.sh
getJobThreadSump.sh
は、特定のジョブのスタックトレースを表示するスクリプトです。また、JConsole または JMXTerm を使用してスクリプト出力を表示することもできます。
JobInfoCollector.jar
JobInfoCollector.jarは、SQLクエリを実行し、ジョブに関する情報を収集するためのJavaアプリケーションです。SQL クエリは、 ジョブインフォコレクター.properties ファイルで作成できます。このファイルには、既定のクエリ例が含まれています。アプリケーションは、サブジョブの階層 (親ジョブ ID として入力) および現在スケジュールされていないジョブのリストを表示することもできます。SQL クエリを入力して、ジョブに関する情報を取得することもできます。
ジョブ管理スクリプトおよび Java アプリケーションの実行について詳しくは、 ジョブ管理スクリプトおよび Java アプリケーションの実行を参照してください。
Usr/nma/bin/collectStuckJobLogFiles.pl
Usr/nma/bin/collectStuckJobLogFiles.pl は、ジョブがスタックした時点でのトラブルシューティングログと脅威をすべて収集するスクリプトです。この自動収集ツールは、必要に応じてcrontabに追加されたスタックジョブを監視および識別します。スタックしたジョブとは、45 分以上保留中または進行中のジョブです。ツールがそのようなジョブを識別すると、サーバーからすべてのログとスレッドダンプを収集し、それらを/ var / tmp/stuckJobLogFiles_<timestamp>.tgzの場所に保存し、ファイル名、ファイルの場所、ノードなどの詳細を電子メールでユーザーに通知します。
ホーネットQスクリプト
/ var/log/space-debug/debug-utilities/hornetQ/ に格納されている HornetQ スクリプトは、すべての JBoss キュー、特定の JBoss キュー内のメッセージ、または特定の JBoss キューによって実行されるジョブのリストを表示します。また、JConsole または JMXTerm を使用してスクリプト出力を表示することもできます。
以下はHornetQスクリプトです。
HornetQInfoProvider.sh
HornetQInfoProvider.sh
は、すべてのHornetQキューに関する詳細を収集するスクリプトです。スクリプト出力には、コンシューマー数、メッセージ数、スケジュールされた数などの詳細も一覧表示されます。
HQMessageViewer.sh
HQMessageViewer.sh
は、特定の JBoss キュー内のメッセージのリストを表示するスクリプトです。スクリプト出力には、ジョブ ID とジョブ操作名が表示されます。特定の JBoss キューによって実行されるようにキューに入れられているジョブを表示できます。
HornetQ スクリプトの実行の詳細については、「 HornetQ スクリプトの実行」を参照してください。