简介
本文档介绍在Quantum Policy Suite(QPS)系统发生故障或崩溃时捕获信息所必须完成的步骤。如果硬件、软件和虚拟机要求得到满足,则QPS不太可能崩溃。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于以下软件和硬件版本:
注意:QPS版本5.5之前的QPS版本中不会显示某些日志。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
捕获信息
如果QPS系统发生故障,请收集以下信息:
诊断和调试日志
- 登录策略和计费规则功能(PCRF)客户端虚拟机(例如pcrfclient01)并收集诊断信息(例如/opt/broadhop/installer/diag/diagnostics.sh)。
- 登录到PCRF客户端虚拟机并收集调试信息。调试信息包括整合的QNS日志、svn repo和QNS配置详细信息。确保整合的日志涵盖系统故障的时间,并在logback.xml文件中设置调试级别。
- 从QPS收集此输出(例如,运行/opt/broadhop/installer/diag/zip_debug_info.sh,输出存储在/var/tmp/debug_info<date>.zip中)。
QPS许可证信息
- 登录PCRF客户端虚拟机并收集QPS许可证信息。QPS通常针对特定功能授予许可,并且它支持的并发会话数最大。QPS还具有此功能的到期日期。
- 导航到此目录:/etc/broadhop/license并捕获许可证(.lic)文件的输出。(例如cat /etc/broadhop/license/QUANTUM201311210402429360.lic)。
系统统计信息
- 捕获系统统计信息(示例:CPU、内存、磁盘利用率)。
- 登录到PCRF客户端虚拟机并收集输出。示例:/opt/broadhop/control/top_qps.sh
- 登录到对应的虚拟机(例如,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个文件/目录占用更多空间
- 登录会话管理器虚拟机并收集输出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的文件,并检查该文件在发生错误时是否与该文件匹配。
要指定致命错误的位置,请完成以下步骤:
- 登录到pcrfclient01虚拟机
- 打开jvm.conf(例如vi /etc/broadhop/pcrf/jvm.conf)。
- 将选项-XX:ErrorFile=<directory>/<file-name>%p.log添加到列表,并确保指定的目录路径存在且用户QNS对该目录具有完全权限。示例:-X:ErrorFile=/home/qns/fatal_error%p.log
- 如果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文件。
- 重新启动QNS应用程序并输入命令restartall.sh