1. 概述
1.1 版本说明
版本
| 内置系统运维插件版本 | 功能变更 |
---|
4.0.13 | V1.0 | 新增支持一键配置检测项的值 |
4.0.13 | V1.3.1 | 新增部分健康巡检内容 支持生成并下载巡检报告 |
1.2 应用场景
如果内存环境配置不合理,非常容易导致数据平台宕机,且此类宕机情况很难复现,排查困难。
1.3 功能简介
FineDataLink 数据平台内置了系统运维插件,直接拥有此功能。
「健康巡检」,可帮助用户检查系统中的各项配置是否合理,以辅助用户优化环境配置,更好地防止宕机情况的发生。
本文将简单介绍健康巡检功能的检查逻辑和检查项。
2. 系统检查项
V1.3.1 之前版本的插件,仅支持环境配置检查。
V1.3.1 及之后版本的插件,支持进行的巡检内容,包括系统检查、系统运行状态、端口检查、网络检查、服务联通性检查、业务检查、环境检查、磁盘检查、非容器化部署检查、虚拟机检查。如下表所示:
详情请参见:运维监控指导手册 第三章。
巡检内容
| 检测项 |
---|
系统检查 | 仅输出信息,不进行配置推荐,检测项包括: 操作系统信息、glibc/gcc版本、hostname、时区信息、CPU主频、核心数、内存大小、已使用内存、空闲内存、交换分区、检测时间、根目录磁盘、根目录磁盘剩余 |
系统运行状态
| |
端口检查 | |
网络检查 | 检查文件服务器、外接数据库、状态服务器和应用之间通信是否正常,是否能够ping通,是否存在丢包情况 |
服务联通性检查 | 检查工程与Redis组件、Sftp组件、FineDB数据库之间是否联通 |
业务检查 | finedb:检测finedb数据库的类型,建议配置外接数据库 外接库的数据库编码/字符集:检测finedb外接数据库的数据库编码/字符集 日志级别:建议「管理系统>智能运维>平台日志>全局设置」中设置系统日志级别为 ERROR 日志清理:建议「管理系统>智能运维>平台日志>全局设置」中自动清理超过三个月的日志 自动备份磁盘占用限制:建议在「管理系统>智能运维>备份还原>全局设置」中限制自动备份可占用磁盘大小 自动备份保留数量限制:建议「管理系统>智能运维>备份还原>全局设置」中设置的自动备份保留数量不超过5份 定时调度任务清理配置:建议定时调度任务>调度对象中,文件处理方式设置为仅保留最近一次或任务结束即清理 单模板单元格数限制:建议开启「管理系统>智能运维>负载管理>模板限制>通用限制」中的单模板单元格限制 二级缓存开启情况:建议系统配置二级缓存 导入excel单元格数限制:建议开启「管理系统>智能运维>负载管理>模板限制>通用限制」中的导入Excel单元格限制 负载预警开启:建议开启「管理系统>智能运维>负载管理>负载监控」中的「智能预警」 单数据集行数限制:建议开启「管理系统>智能运维>负载管理>模板限制>通用限制」中的单数据集行数限制 sql执行时长限制:建议开启「管理系统>智能运维>负载管理>模板限制>通用限制」中的sql执行时长限制 集群参数配置:建议配置「管理系统>智能运维>集群配置>参数配置」中的内部转发参数 内存数据行数限制:建议「管理系统>系统管理>常规>BI参数」 中的「数据访问量」参数配置不超过100w 快速分析单元格数限制:建议DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit参数值不超过10000000 快速分析行数限制:建议DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row参数值不超过10000000 快速分析更新单元格数限制:建议DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell参数值不超过10000 快速分析内存大小限制:建议DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory参数值不超过500000000 spark计算结果内存大小限制:建议DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize参数值不超过10000000 更新资源无限制时间段配置:检测「管理系统>系统管理>常规>抽取参数」 中的「更新高性能时间区间」参数
|
环境检查 | vm.max_map_count:建议配置 vm.max_map_count 参数为 262144 最大文件打开数:建议open_files参数配置不低于65536 overcommit_memory:建议vm.overcommit_memory参数配置为0 overcommit_ratio:建议vm.overcommit_ratio参数配置为50 gblic内存泄露相关配置:建议配置export MALLOC_ARENA_MAX=1
|
磁盘检查 | 仅输出信息,不进行配置推荐,检测项包括: 磁盘空间、已使用磁盘空间、空闲磁盘空间、顺序读取、顺序写、随机读、小文件创建、小文件删除 |
非容器化部署 | 仅输出信息,不进行配置推荐,检测项包括: 进程用户、服务器主要文件夹权限 |
虚拟机检查 | 物理内存:仅输出信息 堆内内存:仅输出信息 堆外fineIO读内存:建议JVM fineIO读内存使用堆外内存设置为2G 堆外fineIO写内存:建议JVM fineIO写内存使用堆外内存设置为1G headless模式:建议配置 -Djava.awt.headless=true 以启用 headless 模式
dump导出:建议配置HeapDumpOnOutOfMemoryError 及 HeapDumpPath以保证正常导出dump
DisableExplicitGC参数:建议不对 DisableExplicitGC 参数进行配置,此项配置会导致 System.gc()被禁用,影响系统稳定性
JDK版本:建议使用「JDK8」中 1.8.0_181 及以上版本
栈空间:建议单线程使用栈空间不超过1024KB,即 -Xss 的值不超过 1024
垃圾回收器类型:建议 JVM 使用垃圾回收器类型为 ParallelScavenge
老年代与新生代大小比例:建议堆内老年代与新生代大小比例为 2,即-XX:NewRatio=2
recompilationCutoff参数:建议recompilationCutoff相关参数配置值为-1
debug模式:建议取消debug模式,删除两个参数 -agentlib:jdwp 和 -Xrunjdwp
xms配置:建议配置Xms=Xmx
zip相关配置-Dsun.zip.disableMemoryMapping:建议配置-Dsun.zip.disableMemoryMapping=true
语言配置-Duser.country:建议配置-Duser.country=CN
语言配置-Duser.language:建议配置-Duser.language=zh
codecache配置:建议配置-XX:ReservedCodeCacheSize=250m
安装包部署:仅输出信息
堆栈信息:仅输出信息
|
检查后存在问题的检查项,会在页面中展示,如下图所示:
3. 快速修复
快速修复功能支持一键配置系统检查建议值。
3.1 不支持的环境
对于以下环境,不支持快速修复功能:
1)非 Tomcat 部署环境,不支持快速修复,例如 was 部署、weblogic 部署等。
2)工程系统中若存在自行设置的 setenv 文件,不支持快速修复。
3)服务形式启动的 Tomcat 工程,不支持快速修复。
4)Windows环境下 exe 启动的 Tomcat 工程,不支持快速修复。
5)系统物理内存为 16 GB及以下的环境,不支持快速修复。
6)集群工程环境,不支持快速修复。
3.2 配置方法
若当前工程环境满足快速修复的要求,且存在需要一键配置的检查项,在「系统检查」页面左上角出现按钮「快速修复」。
点击「快速修复」,即可勾选需要配置的检查项,点击「应用配置」,即可一键配置异常项的值,如下图所示:
注1:支持快速修复的检查项为:堆内内存、堆外NIO内存、堆外FineIO内存、DisableExplicitGC参数、老年代与新生代比例、栈空间、xms配置。
注2:若没有文件读写权限或者无法修改配置文件时,提示「应用配置失败:没有配置文件读写权限」,点击「确定」,则修改失败,返回系统检查界面。
配置成功后,跳出提示「应用配置成功,重启服务器后生效」。重启服务器后,可以发现刚刚的异常项均已成功配置。
4. 巡检报告
每一次健康巡检结束后,会生成一个巡检报告。用户可将报告下载到本地,或在线预览。如下图所示:
健康巡检报告支持查看异常检测项或全部检测项,报告示例如下图所示:
5. 触发检查
5.1 手动检查
系统重启后,每小时获取一次系统的配置情况。
第一次进行健康巡检时,需要点击「开始巡检」按钮,系统自动进行检查,获取最近一次的系统配置,更新检查结果。
再次进行进行健康巡检时,点击「重新诊断」按钮,系统自动进行检查,获取最近一次的系统配置,更新检查结果。
5.2 自动检查
在「健康巡检处理」页面,管理员可开启「系统自动检查」并保存。
开启后,系统在每周日上午 11 点进行自动检查,存在不合理配置时可通过短信提醒、平台消息、邮件提醒三种形式通知管理员。
注:
1)短信提醒:需要开启短信平台,详细点击 短信
2)邮件提醒:需要配置邮件服务器,详细点击 邮箱
3)平台消息:需要在负载均衡层面配置websocket端口并且开放,相关文档:Websocket端口被占用/无法使用
6. 运维工具
运维接口密钥,是在「运维平台」中绑定当前工程的接口密钥,详情请参见:运维平台产品简介