Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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/ 中的 device-connection 调试脚本从 DeviceDataMatrix 获取并显示 device-connection 信息。DeviceDataMatrix 是 Junos Space 网络管理平台数据库中的一种内存数据结构,用于存储设备连接信息。您还可以通过 JConsole 或 JMXTerm 查看此信息。

以下是设备连接调试脚本:

getDeviceInfo.sh

getDeviceInfo.sh 是一个用于收集单个设备的设备连接信息的脚本。脚本输出显示设备 ID(存储在 Junos Space 平台数据库中)、设备的 IP 地址、设备当前连接的 Junos Space 节点的 IP 地址、设备上编辑标志的状态、SSH 控制通道号、从设备打开的通道数以及打开通道的详细信息。

DeviceDebugInfoCollector.sh

DeviceDebugInfoCollector.sh 是在设备上执行常用的 Junos OS 调试命令的脚本。执行此脚本时,将从您指定的 Junos Space 节点启动与设备的 SSH 连接。脚本输出显示设备上的活动管理守护程序 (MGD) 进程、设备上的活动 SSH 守护程序 (SSHD) 进程、设备到 Junos Space 平台的活动 SSH 连接以及设备的所有活动 SSH 连接的列表。您还可以查看有关每个进程和 SSH 连接的其他详细信息。

getAllDeviceInfo.sh

getAllDeviceInfo.sh 是一个脚本,用于收集有关连接到 Junos Space 节点的所有设备的设备连接信息。脚本输出显示设备 ID(存储在 Junos Space 平台数据库中)、设备的 IP 地址、设备当前连接的 Junos Space 节点的 IP 地址、设备上编辑标志的状态、SSH 控制通道编号、从设备打开的通道数,以及连接到 Junos Space 节点的所有设备的开放通道详细信息。在多节点设置中,您还可以收集所有 Junos Space 节点的此信息。

cleanupEditChannel.sh

cleanupEditChannel.sh 是用于解锁设备上设备配置的脚本。当您从 Junos Space 平台或 Junos Space 应用程序部署配置时,Junos Space 平台会设置锁定。如果之前的部署出错,并且您当前无法从 Junos Space 平台部署配置,则可以使用此脚本解锁设备配置。输入变量 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 是一个 Java 应用程序,用于收集设备信息 XML 或接口信息 XML。执行此应用程序时,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 和内存的前五个进程。

getJobThreadSump.sh

getJobThreadSump.sh 是用于查看特定作业的堆栈跟踪的脚本。您还可以通过 JConsole 或 JMXTerm 查看脚本输出。

JobInfoCollector.jar

JobInfoCollector.jar 是一个 Java 应用程序,用于执行 SQL 查询并收集有关作业的信息。可以在 JobInfoCollector.properties 文件中构造 SQL 查询。此文件包含一个默认示例查询。应用程序还可以显示子作业的层次结构(作为父作业 ID 输入)和当前未计划的作业列表。您还可以输入 SQL 查询以获取有关作业的信息。

有关执行作业管理脚本和 Java 应用程序的更多信息,请参阅 执行作业管理脚本和 Java 应用程序

USR/NMA/BIN/collectStuckJobLogFiles.pl

usr/nma/bin/collectStuckJobLogFiles.pl 是一个脚本,用于在作业卡住时收集所有故障排除日志和威胁。此自动收集工具根据需要监控和识别添加到 crontab 后的卡住作业。卡住的作业是指处于待处理或正在进行的作业中超过 45 分钟的作业。一旦该工具识别出此类作业,它就会从服务器收集所有日志和线程转储,将它们保存在 /var/tmp/stuckJobLogFiles_<timestamp>.tgz 位置,并通过电子邮件通知用户提供文件名、文件位置、节点等详细信息。

HornetQ 脚本

存储在 /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 脚本

Compare.py