目录

简介

先决条件

要求

使用的组件

捕获信息

诊断和调试日志

QPS许可证信息

系统统计信息

策略生成器中的线程配置

错误日志

简介

本文档介绍在Quantum Policy Suite(QPS)系统发生故障或崩溃时捕获信息所必须完成的步骤。如果硬件、软件和虚拟机要求得到满足，则QPS不太可能崩溃。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- QPS版本5.5及更高版本。

注意：QPS版本5.5之前的QPS版本中不会显示某些日志。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

捕获信息

如果QPS系统发生故障，请收集以下信息：

诊断和调试日志

1. 登录策略和计费规则功能(PCRF)客户端虚拟机(例如pcrfclient01)并收集诊断信息(例如/opt/broadhop/installer/diag/diagnostics.sh)。

2. 登录到PCRF客户端虚拟机并收集调试信息。调试信息包括整合的QNS日志、svn repo和QNS配置详细信息。确保整合的日志涵盖系统故障的时间，并在logback.xml文件中设置调试级别。

3. 从QPS收集此输出(例如，运行/opt/broadhop/installer/diag/zip_debug_info.sh，输出存储在/var/tmp/debug_info<date>.zip中)。

QPS许可证信息

1. 登录PCRF客户端虚拟机并收集QPS许可证信息。QPS通常针对特定功能授予许可，并且它支持的并发会话数最大。QPS还具有此功能的到期日期。

2. 导航到此目录：/etc/broadhop/license并捕获许可证(.lic)文件的输出。(例如cat /etc/broadhop/license/QUANTUM201311210402429360.lic)。

系统统计信息

1. 捕获系统统计信息(示例：CPU、内存、磁盘利用率)。

2. 登录到PCRF客户端虚拟机并收集输出。示例：/opt/broadhop/control/top_qps.sh

3. 登录到对应的虚拟机(例如，pcrfclient0x、lb0x、qns0x)并捕获以下系统统计信息：
cat /proc/meminfo >已分配内存信息

free -s 60 >每分钟的内存统计

vmstat 1 >每一分钟的CPU状态

ps -aux | head -10 > Top 10 process details，消耗大部分CPU利用率

swapon -s >交换使用摘要/设备

。du-a | sort -n -r |头 — n 10 >前10个文件/目录占用更多空间

4. 登录会话管理器虚拟机并收集输出mongostat和mongotop，这将有助于排除问题是否与数据库相关的问题。

策略生成器中的线程配置

登录到策略生成器，然后导航至Reference Data > System-1 > Plugin Configurations > Threading Configuration。

对于TPS，线程数可能介于40到50之间，但小于1,000。可配置的最大线程数为50。如果增加线程数，则会影响系统性能。

错误日志

发生系统故障时，QPS会生成致命错误日志，其中包含发生致命错误时进程的状态。严重错误或严重异常错误导致程序中止。

致命错误日志包含以下信息：

- 导致致命错误的操作异常或信号

- 版本和配置信息

- 引发致命错误的线程的详细信息和线程的堆栈跟踪

- 正在运行的线程的列表及其状态

- 有关堆的摘要信息

- 加载的本地库列表

- 命令行参数

- 环境变量

- 有关操作系统(OS)和中央处理器(CPU)的详细信息

默认日志文件名采用以下格式：hs_err_pid<pid>.log，并在相应Java进程启动的工作目录中生成。示例：用户启动QNS进程时的用户工作目录。

如果您不知道工作目录，请在系统中搜索名为hs_err_pid*.log的文件，并检查该文件在发生错误时是否与该文件匹配。

要指定致命错误的位置，请完成以下步骤：

1. 登录到pcrfclient01虚拟机

2. 打开jvm.conf(例如vi /etc/broadhop/pcrf/jvm.conf)。

3. 将选项-XX:ErrorFile=<directory>/<file-name>%p.log添加到列表，并确保指定的目录路径存在且用户QNS对该目录具有完全权限。示例:-X:ErrorFile=/home/qns/fatal_error%p.log

4. 如果pcrfclient01:/etc/broadhop中的conf文件与运行QNS服务的VM上/etc/broadhop中的conf文件不同步，则“syncconfig.sh”命令可能会导致许多问题。syncconfig.sh将获取pcrfclient01:/etc/broadhop conf文件，并在运行QNS的VM上的/etc/broadhop中重写conf文件。
警告：命令synconfig.sh将获取pcrfclient01:/etc/broadhop conf 文件，并覆盖运行QNS服务的虚拟机（例如iomgr01、iomgr02、qns01、qns02等）上的/etc/broadhop中的所有conf文件。

5. 重新启动QNS应用程序并输入命令restartall.sh