Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

系统故障排除

保存 Junos OS 进程生成的核心文件

默认情况下,当内部 Junos OS 进程生成核心文件时,该文件和关联的上下文信息将保存在名为 /var/tmp/process-name.corecore-number 的压缩 tar 文件中,以便进行调试。TGZ。上下文信息包括配置和系统日志消息文件。

  • 要禁用核心文件和相关上下文信息的保存,请执行以下作:

  • 要仅保存核心文件,请执行以下作:

    其中 number 是要保存的核心文件数,可以是 1 到 10 之间的值。

  • 要保存核心文件和上下文信息,请执行以下作:

查看 Junos OS 进程中的核心文件

当内部 Junos OS 进程生成核心文件时,您可以在 /var/crash//var/tmp/ 中找到输出。对于 Junos OS 演化版,您可以在 /var/core/ (对于路由引擎核心文件)和 /var/lib/ftp/in/ (对于 FPC 核心文件)找到输出核心文件。使用这些目录,可以快速查找大型网络中的核心问题。

使用 CLI 命令 show system core-dumps 查看核心文件。

收集系统状态计数器以捕获用于系统调试的信息

您可以在网络设备上收集和存档系统状态计数器。当您请求 JTAC 帮助调试系统上的问题时,您和您的 JTAC 支持团队可以在系统问题发生之前定期查看系统上发生的情况。

支持此功能的网络设备运行 shell 脚本,该脚本定期收集 RE、PFE 和 SHELL 计数器以及其他系统状态计数器。计数器要么与协议相关,要么与 CPU 相关。收集的计数器保存在 var/log 目录的 counter.log 文件中。同一目录中的 counter.info 文件记录脚本执行参数的设置。

计数器用时间戳写入 counter.log 文件中,这在调试过程中很有帮助。

您可以通过两种方式自定义脚本的执行:

  1. 您可以通过编辑 counter.info 文件来更改默认脚本执行参数值。您必须登录才能 super-user 执行此任务。请参阅 如何更改脚本执行参数值

  2. 您可以重新启动,然后停止脚本的执行。通常,您会这样做,因为 counter.info 文件已被删除或编辑。请参阅 如何重新启动或停止脚本的执行

shell 脚本中包含了哪些内容以及它是如何运行的?

定期收集两组计数器:

  • 第 1 组— 此集以 9 秒的快速间隔定期收集时间敏感应用程序的系统状态。

  • SET2— 此集以 60 分钟的慢间隔定期收集系统状态。

该软件在开始收集 SET1 和 SET2 计数器之前会检查 CPU 使用率。如果软件检测到较高的 CPU 使用率(85% 或更高),则它不会收集通常指定的计数器,而是收集不同的计数器,这些计数器构成的集合比通常指定的计数器集要小。

下面是脚本的运行方式:

  1. shell 脚本在网络设备启动 240 秒后开始运行。

  2. SET1 首先运行。

  3. 如果 SET1 中的任何命令未在分配的时间内完成,则脚本将截断该命令的运行,将 CLI 输出集合保存到 counter.log 文件中,然后继续执行下一个命令。

  4. 当 SET1 的运行完成时,SET2 开始。同样,任何未在分配时间内完成的命令都将被截断,CLI 输出集合将保存到 counter.log 文件中,脚本将移动到下一个行项。

  5. 如果在任何 CLI 输出收集期间重新启动或停止脚本运行,则该脚本将完成正在进行的 CLI 输出收集,然后正常退出。

注意:您无法更改 shell 脚本本身的内容。您可以以的身份 super-user登录,然后编辑脚本的执行参数,包括 SET1 和 SET2 的 CLI 列表。请参 阅如何更改脚本执行参数值

如何更改脚本执行参数值

您可以更改 shell 脚本执行参数值,例如 SET1 和 SET2 的 CLI 列表或要存档的日志文件数。您必须登录 as super-user 才能对参数值进行更改。

表 1 列出了可在 counter.info 文件中编辑的参数设置。

表 1:Shell 脚本执行参数设置
设置 说明 默认 使用说明
SET1_TIME 以快速时间间隔(以秒为单位)运行订单项的 SET1 集合的时间间隔 9 秒 设置为 < SET2_TIME
SET2_TIME 以较慢的时间间隔(以秒为单位)运行 SET2 订单项集合 3600 秒 设置为 > SET1_TIME
MAX_CLI_EXECUTION_TIME 等待完成每个 CLI 输出收集的最大时间间隔(以秒为单位) 25 秒 如果 CLI 输出收集花费的时间超过此时间,则脚本将终止该特定 CLI 输出收集,并在脚本中执行下一个语句。此行为可确保脚本执行所有语句。
SET1_ON 用于启用和禁用快速计数器收集 1(启用)  
SET2_ON 用于启用和禁用慢速计数器收集 1(启用)  
LOG_FILE_ARCHIVE_MIN_SIZE 要存档 counter.log 文件的最小大小 1024 千米赛  
LOG_FILE_ARCHIVE_COUNT 要存档的 counter.log 文件数 10  
版本 counter.info 文件的版本号  
谨慎:
不要更新 /var/log/counter.info文件中的 VERSION 值。
在脚本中运行的命令的 SET1 和 SET2 CLI 列表 CLI 列表分为以下子列表:
  • SET1_RE

  • SET2_RE

  • SET1_PFE

  • SET2_PFE

  • SET1_SHELL

  • SET2_SHELL

注意:如果检测到 CPU 使用率为 >85 RE_CPU、PFE_CPU 和 SHELL_CPU 中提及的 CLI 输出将按 SET1_TIME 和 SET2_TIME 的间隔进行收集。
每组都附带一个默认的 CLI 命令列表。 如果默认 CLI 列表未提供所需的所有系统信息,请编辑 CLI 列表以获取所需其他系统信息的计数器。

如何重新启动或停止脚本的执行

如果在 counter.info 文件中进行更改,请使用 restart 命令手动运行脚本:

stop使用命令停止脚本的运行: