长期支持版本

    社区创新版本

      CPU故障巡检插件

      硬件规格要求

      • 仅支持aarch64架构

      安装插件

      前置条件

      已通过《安装和使用》安装sysSentry巡检框架。

      安装软件包

      yum install cpu_sentry ipmitool libxalarm -y
      

      加载内核模块

      modprobe cpu_inspect
      modprobe inspector-atf
      

      CPU巡检参数配置

      cpu故障巡检任务的配置保存在/etc/sysSentry/plugins/cpu_sentry.ini中。

      • 配置项说明
      插件配置参数默认值取值范围配置项说明
      cpu_listdefault测试环境CPU核ID列表进行故障巡检的CPU列表
      patrol_second60大于0的整数巡检超时时间,单位:s
      cpu_utility1001-100之间的整数(含1和100)允许巡检程序运行的CPU最大利用率
      • 配置示例
      [args]
      cpu_list = default
      patrol_second = 60
      cpu_utility = 100
      

      加载CPU巡检任务

      启动CPU巡检任务之前,需要先加载CPU巡检任务。执行 sentryctl reload cpu_sentry 加载CPU巡检任务。 输入图片说明

      启动CPU巡检任务

      执行 sentryctl start cpu_sentry 启动CPU巡检任务。

      查看CPU巡检状态

      执行 sentryctl status cpu_sentry 查看CPU巡检任务状态。

      停止CPU巡检任务

      执行 sentryctl stop cpu_sentry 停止正在运行的CPU巡检任务。

      查看CPU巡检结果

      巡检结果获取命令:sentryctl get_result cpu_sentry, 命令回显信息参考get_result接口说明,details信息如下:

      {
          ... ...
          "details": {
              "code":0,
              "msg":"xxx",
              "isolated_cpulist":"xxx"
          }
      }
      

      details各个字段含义如下:

      key含义
      codecpu巡检任务返回错误码,整型。错误码及可能的原因如下:
      0:所有CPU未发现问题
      1001:0号CPU有问题,无法隔离
      1002: 部分CPU有问题,故障核隔离成功
      1003:无效的配置参数
      1004:巡检程序执行出错
      1005:巡检程序被杀死
      msg字符串,错误描述信息
      isolated_cpulist字符串,故障隔离核列表,例如:"10-13,15-18"

      比如配置patrol_second值为-1,启动巡检任务,得到结果如下: 输入图片说明

      查看CPU巡检日志

      CPU巡检任务的日志记录在 /var/log/sysSentry/cpu_sentry.log 文件中,主要记录错误信息,比如配置文件中配置非法的参数值,会得到如下的日志内容:

      [root@localhost ~]# cat /var/log/sysSentry/cpu_sentry.log
      ERROR:root:config 'cpu_list' (value [1--3]) is invalid in cpu_sentry.ini !
      [root@localhost ~]#
      

      常见问题Q&A

      • 在配置无效参数时,调用sentryctl start cpu_sentry命令,未执行cpu巡检,但是该命令的退出状态为0,说明命令执行成功。这是否正常,为什么?

        sentryctl命令用于管理巡检任务,它的退出状态与巡检任务执行的执行状态无关。sentryctl进程与巡检任务进程是异步执行的,互不影响。用户执行sentryctl start cpu_sentry是下发cpu巡检任务,该命令退出状态为0表示任务下发成功,但是不能说明CPU巡检任务执行成功。在执行CPU故障巡检之前,巡检任务会检测任务配置参数是否合法。如果CPU巡检任务配置文件中有非法参数,巡检任务会直接退出,检查结果体现在巡检任务执行结果中,我们可以执行sentryctl get_result cpu_sentry获取巡检任务执行结果,如下图所示:
        输入图片说明

      • 插入inspector-atf模块失败,提示Operation not supported,这是为什么?

        这是因为当前BIOS版本不支持CPU故障巡检,查看dmesg日志可以得到相关日志信息,比如:

      输入图片说明

      • 巡检结果中的end_time - start_time 的差值会超过1s,这是为什么?

        CPU巡检只允许同时运行一个任务,因此在拉起CPU巡检任务之前会调用pgrep命令检测测试环境中是否有已经运行的CPU巡检进程,而不同环境中pgrep命令耗时有差异,end_time - start_time 的超时时间主要为pgrep命令的耗时。

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份