反馈已提交

网络繁忙

性能堆栈

  • 文档创建者:Carly
  • 历史版本:31
  • 最近更新:Carly 于 2024-11-14
  • 1. 概述

    1.1 版本

    运维平台版本功能变更
    V1.5.5
    -
    V1.5.7

    1)运维平台日志管理功能拆分优

    2)对于集群多节点工程,支持单次下载多节点日志文件
    3)各类日志下载时,支持选择服务类型,按需下载日志

    V1.8.0分析日志中,分析记录列表新增展示「触发类型」
    V1.12.01)支持手动上传本地性能堆栈,至运维平台进行分析
    2)支持展示历史性能堆栈生成记录
    3)性能堆栈使用顺序优化,变更为:分析>下载>生成
    V1.14.0

    运维平台监测宕机,自动触发生成日志条件优化

    1)应用无响应触发时间由3分钟优化为2分钟

    2)新增FullGC触发条件:5min内FullGC次数总和大于3次,且时间总和超过 50s

    V1.15.0下载日志时,支持按需选择日志类型,无需全量下载,降低下载成本
    V2.0.0性能分析结果优化,新增「内存情况划分」
    V2.1.0

    1)在项目不可用情况下,仍支持生成、分析、下载性能堆

    2)优化分析报告,拆分内存和CPU信息,优化GC状态展示

    1.2 应用场景

    当工程出现宕机或异常时:

    1)在工程宕机时,管理员需要快速生成堆栈日志,以确保事后有办法复盘定位问题。

    2)管理员需要对堆栈日志进行分析,追踪问题产生的根本原因,但日志分析对管理员的技术水平要求较高。

    3)管理员需要将堆栈日志拿到本地自行分析,或提供给帆软技术支持人员,帮助确认工程存在的问题,但很多公司日志获取费时费力。

    FineOps运维平台提供「性能堆栈」功能,支持对堆栈日志进行快速生成、智能分析、便捷下载。

    1.3 日志简介

    性能堆栈功能,支持对以下堆栈日志进行生成、分析和下载:

    日志
    说明
    fanruan.gc.log帆软宕机日志
    thread.txt线程信息统计报告,该报告包含了所有线程的状态、堆栈跟踪信息等,可以帮助了解应用程序的线程使用情况,及时发现和解决线程问题。
    histo.txt内存使用情况统计报告,该报告包含了对象的数量、大小、占用空间等信息,可以帮助了解应用程序的内存使用情况,及时发现和解决内存泄漏等问题。
    hs_err.txtJava在运行过程中遇到错误时自动生成的错误报告文件,包含了详细的错误信息、堆栈跟踪信息、线程信息等,可以帮助定位和解决代码问题。
    top.txt

    Linux 系统下的 top 命令的输出结果,用于显示当前系统中运行进程的相关信息,包括top-H.txt、top-sortedByCPU.txt、top-sortedByMEM.txt

    1)top-H.txt:该文件是 top 命令输出结果中的 "H" 模式,用于显示线程信息,包括线程 ID、CPU 占用率、内存占用率等

    2)top-sortedByCPU.txt:该文件是 top 命令输出结果按照 CPU 占用率从高到低排序的信息,包括进程 ID、CPU 占用率、内存占用率等

    3)top-sortedByMEM.txt:该文件是 top 命令输出结果按照内存占用率从高到低排序的信息,包括进程 ID、CPU 占用率、内存占用率等

    2. 分析日志

    应用场景:

    当工程宕机后,管理员需要对宕机日志进行分析,修复工程存在的问题,防止再次发生。

    FineOps运维平台支持对jstack、histo、gc和top-H内容进行分析,帮助用户分析错误堆栈并给出相关改进意见。

    2.1 自动分析运维项目

    当满足 4.1 节自动生成日志后,FineOps会对每个节点自动生成的堆栈日志进行分析。

    1)管理员登录运维平台,点击「项目管理」,选择指定运维项目。

    2)进入「日志>性能堆栈」页面,在「分析」模块下可以查看到自动分析的结果:

    2.2 手动分析运维项目

    操作步骤:

    1)管理员登录运维平台,点击「项目管理」,选择指定运维项目。进入「日志>性能堆栈」页面,

    2)在「分析」模块下,点击「分析」按钮。触发该运维项目下每个节点生成堆栈日志。

    3)FineOps会对每个节点生成的堆栈日志进行分析,分析结果生成在分析记录中。

    注意事项:

    每1分钟仅支持进行1次分析,以防频繁触发,导致系统性能差。若分析请求过于频繁,则提示「分析请求太频繁啦,请稍等一分钟后再重新尝试」。

    2.3 手动上传日志分析

    用户可手动上传本地堆栈日志到运维平台进行分析。

    操作步骤:

    1)准备本地堆栈日志包

    仅支持.zip/.tar/.gz格式压缩包,请务必准备标准的jstack -l堆栈。

    日志包大小不可超过 100M。

    2)上传本地堆栈日志包

    管理员登录运维平台,点击「项目管理」,选择运维项目,点击「日志>性能堆栈」。

    在「分析」模块下,点击「上传性能堆栈分析」按钮,选择本地日志包,点击「打开」。

    3)生成分析报告

    FineOps将根据压缩包中jstack、histo、gc和top-H 生成分析报告,仅支持同时分析一个节点。

    分析结果在新标签页打开,不记录在分析记录中。

    2.4 查看分析记录

    管理员登录运维平台,点击「项目管理」,选择运维项目,点击「日志>性能堆栈」。

    在「分析>分析记录」模块下,以明细表形式显示该运维项目下所有手动/自动触发的堆栈分析结果(不包括手动上传的日志分析记录)。

    1)分析记录以明细表形式展示,展示内容包括:项目名、节点名、触发类型、操作时间、操作者、操作IP、分析结果。

    若手动触发,操作者和操作IP为空。

    2)若运维项目为集群环境,每个节点都会生成一份分析结果。

    3)日志分析历史记录最多只保留最近50条记录。支持选中单个分析记录删除,支持批量删除多个分析记录,支持清空全部历史记录。

    4)点击分析记录中的「查看」按钮,即可在新标签页打开具体的分析结果。

    点击对应分析结果后的「查看」按钮,即可查看本次分析的具体结果。

    性能堆栈分析结果示例如下图所示,分为两个部分:内存状态详情、线程CPU状态详情。

    • 内存状态详情:分为GC状态和内存状态

    • 线程CPU状态详情:


    3. 下载日志

    应用场景:

    当工程宕机后,管理员需要将宕机日志拿到本地自行分析,或提供给帆软技术支持人员,帮助确认工程存在的问题,防止再次发生。

    操作步骤:

    序号操作步骤注意事项
    1

    管理员登录运维平台,点击「项目管理」,选择运维项目

    点击「日志>性能堆栈」

    2选择时间范围

    可选范围:7天前~当前日期,所选时间跨度不可超过2天(48小时)

    默认时间:2小时前~当前时间

    3选择服务类型

    支持类型:fr、fdl、bi-web、bi-engine-master、bi-engine-worker、bi-engine-worker-monitor

    可选范围:所选时间内存在的服务类型,默认全选

    注意事项:

    1)非容器化运维项目不支持选择服务类型

    2)如不存在任一类型,则不出现该选项

    4选择节点

    可选范围:所选运维项目中的所有节点,默认全选

    5选择需下载的日志

    支持类型:

    支持下载的日志,为第四章生成的日志,包括

    fanruan.gc.log、thread.txt、histo.txt、hs_err.txt、top.txt

    注意事项:

    1)如不存在某种类型的日志,则不支持下载该类型日志

    2)容器化部署的运维项目,如安装elasticsearch组件用于日志存储,则不支持该项,直接全量下载

    6点击「下载」,生成运维日志文件到本地电脑1)若文件大小超过5G,则无法导出该日志,提示「以下日志大小超过上限(5GB),不支持下载:xxx」
    2)若该类型日志文件不存在,则无法导出该日志,提示「以下日志不存在:xxx」
    3)日志下载时,文件需要进行压缩,若等待时间过长,用户可点击「取消下载」按钮停止下载
    4)下载的文件解压后,按照「节点-日期-服务类型-日志类型」结构存放

    4. 生成日志

    应用场景:

    当工程宕机或出现异常时,堆栈日志可以帮助管理员快速定位问题所在的代码。

    当工程出现性能问题(如响应时间过长或CPU占用过高)时,堆栈日志可以帮助管理员理解程序的执行路径,找到可能的性能瓶颈。

    当工程出现问题时,histo日志可以帮助管理员追踪使用者历史输入的命令,保持运维人员对用户行为的监控,追踪问题产生的根本原因

    运维平台支持手动/自动生成堆栈和histo日志。

    4.1 自动触发

    1)触发自动生成日志

    以下情况,均会触发自动生成日志。

    情况
    说明
    宕机触发生成日志

    当该运维项目出现以下情况时,自动触发生成日志

    CPU占用超过80%(fr、fdl、bi-web、bi-worker):生成堆栈

    发生超过30S的GC(fr、fdl、bi-web、bi-worker、bi-master):生成堆栈和histo

    应用2分钟无响应(fr、fdl、bi-web、bi-worker、bi-master)生成堆栈和histo

    线程池用量达到85%(fr、fdl、bi-web、bi-worker)生成堆栈

    连续FullGC后依旧负载较高(连续5次FullGC且负载分大于100)(fr、fdl、bi-web、bi-worker、bi-master)生成堆栈和histo

    5min内FullGC次数总和大于3次,且时间总和超过 50s(fr、fdl、bi-web、bi-worker、bi-master)生成堆栈和histo

    用户可预设自动生成的日志类型

    手动分析日志触发管理员登录运维平台,点击「项目管理」,选择指定运维项目。

    进入「日志>性能堆栈」页面,当手动点击「分析」按钮时,会先自动触发生成一份堆栈日志。

    2)「自动生成」的日志

    当满足上文条件后,自动触发该运维项目下每个节点生成堆栈日志。

    根据项目部署方式和所选服务类型,日志生成在不同位置

    部署方式
    服务类型

    运维平台部署的项目fr有问题组件所在服务器的项目挂载目录fanruanxxx/fr/tomcat_logs/FineLog/日期文件夹内
    fdl有问题组件所在服务器的项目挂载目录fanruanxxx/fdl/tomcat_logs/FineLog/日期文件夹内
    bi6有问题组件所在服务器的项目挂载目录fanruanxxx/bi6/tomcat_logs/FineLog/日期文件夹内
    bi-web有问题组件所在服务器的项目挂载目录fanruanxxx/bi-web/tomcat_logs/FineLog/日期文件夹内
    bi-engine-master有问题组件所在服务器的项目挂载目录fanruanxxx/bi-master/polars/logs/FineLog/日期文件夹内
    bi-engine-worker有问题组件所在服务器的项目挂载目录fanruanxxx/bi-engine-worker_x/polars/monitor/logs/FineLog/日期文件夹内
    bi-engine-worker-monitor有问题组件所在服务器的项目挂载目录fanruanxxx/bi-engine-worker_x/polars/monitor/logs/FineLog/日期文件夹内
    非运维平台部署的项目-

    当前运维项目有问题的节点所在服务器

    %Tomcat%/logs/tomcat_logs/日期文件夹内

    4.2 手动生成

    1)管理员登录运维平台,点击「项目管理」,选择运维项目,点击「日志>性能堆栈」。

    2)在「生成>手动生成」模块下,选择服务类型。

    • 支持类型:BI、FR

    • 可选范围:当前运维项目所有节点中存在的服务类型;非容器化运维项目不支持选择服务类型;如不存在任一类型,则不出现该选项。

    3)点击「生成」,触发该运维项目下每个节点生成堆栈日志。

    4)生成的文件位置为:

    根据项目部署方式和所选服务类型,日志生成在不同位置

    部署方式
    服务类型

    运维平台部署的项目fr有问题组件所在服务器的项目挂载目录fanruanxxx/fr/tomcat_logs/FineLog/日期文件夹内
    fdl有问题组件所在服务器的项目挂载目录fanruanxxx/fdl/tomcat_logs/FineLog/日期文件夹内
    bi6有问题组件所在服务器的项目挂载目录fanruanxxx/bi6/tomcat_logs/FineLog/日期文件夹内
    bi-web有问题组件所在服务器的项目挂载目录fanruanxxx/bi-web/tomcat_logs/FineLog/日期文件夹内
    bi-engine-master有问题组件所在服务器的项目挂载目录fanruanxxx/bi-master/polars/logs/FineLog/日期文件夹内
    bi-engine-worker有问题组件所在服务器的项目挂载目录fanruanxxx/bi-engine-worker_x/polars/monitor/logs/FineLog/日期文件夹内
    bi-engine-worker-monitor有问题组件所在服务器的项目挂载目录fanruanxxx/bi-engine-worker_x/polars/monitor/logs/FineLog/日期文件夹内
    非运维平台部署的项目-

    当前运维项目有问题的节点所在服务器

    %Tomcat%/logs/tomcat_logs/日期文件夹内

    注意事项:

    每1分钟仅支持生成1次堆栈,以防频繁触发,导致系统性能差。

    4.3 生成记录

    在性能堆栈中,展示历史生成记录,包含所有自动/手动触发生成的情况。如下图所示:

    以明细表形式展示:节点名、导出内容、导出开始时间、导出时长、触发类型、是否成功、失败原因。

    附件列表


    主题: 项目管理
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持