历史版本12 :系统资源监控 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

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

1.2 功能简介

管理员登录运维平台,点击「监控与告警」,提供多个仪表盘。

包括:总览、服务器监控、运维平台监控、应用监控、组件监控(外接数据库监控、Redis监控、Nginx监控、Elasticsearch监控、Minio监控)

注1:若未安装Elasticsearch组件,则不显示Elasticsearch监控仪表盘。

注2:若未安装MinIO组件,则不显示MinIO监控仪表盘。

1.3 操作说明

仪表盘中的操作按钮,目前仅支持查询,不会保存记忆上次的查询项。仅建议使用以下按钮,其他的操作按钮不建议使用。

按钮说明

左侧下拉框是用于选择监控仪表盘的时间范围

右侧按钮用于快捷扩大查询时间范围

左侧按钮用于刷新数据

右侧下拉框用于配置自动刷新频率

V2.0及之后版本支持在运维平台绑定多个应用

因此在仪表盘左上方新增了相关按钮

可用于切换查看不同应用、集群节点、实例的仪表盘情况

2. 总览编辑

主仪表盘用于关注应用的全局状态情况概览,包括了各组件与应用的连通性,应用整体的运行状况,使用情况等。

同时也提供应用的历史运行信息,核心用于关注整个应用的可用状态,如果是应用集群,将汇总展示各个节点的状态。

管理员登录「运维平台」,点击「监控仪表板」,即可查看主仪表板。分为三个部分:应用状态总览、当前系统状态、历史运行状态。

2.1 应用状态总览

1)仪表板示例:

运维平台接入各个应用的状态情况,如果出现异常指标将标红/标黄显示,通过点击应用名称可以联动下方明细指标。

2)仪表板指标说明:

指标
具体说明
应用名称当前查看的应用的名称
节点名称当前查看的应用的节点名称
节点当前查看的应用节点的IP和端口号
运行时长

当前查看的应用持续运行的时长。即距离上次启动的时间

实际物理内存占用

当前查看的应用,实际占用的物理内存大小

单位:GiB

在线用户当前查看的应用,目前在线用户数量
外接数据库

应用与外接数据库的连接状态,结果可能为:连通、断开、未设置(未使用外接)和部分节点异常(集群)

文件服务器

应用与文件服务器的连接状态,结果可能为:连通、断开、未设置(未使用文件服务器)和部分节点异常(集群)

状态服务器

应用与状态服务器的连接状态,结果可能为:连通、断开、未设置(未使用状态服务器)和部分节点异常(集群)

负载分由于 GC 机制的作用,通过内存使用率来表征 JVM 负载高低的方式并不能很好地反应 JVM 真实负载情况

因此帆软引入负载分来反应 JVM 真实负载情况,通过GC 回调来获取 GC 数据,并准确衡量 JVM 负载的各种状态

内存使用率内存使用率 = 当前使用的内存 / 可以使用的最大内存

当前使用的内存:当前使用的内存大小(字节)

最大内存:可以使用的最大内存(字节),分配给 JVM 的最大内存

CPU使用率CPU使用率 = 采集时刻 CPU 使用率
工程磁盘余量

显示检查的磁盘剩余可用的目录总量

单位:GiB

2.2 当前系统状态

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
在线用户数当前查看的应用,目前在线用户数量
文件打开数

启动应用的用户会有最大文件打开数的限制,当前应用文件打开数接近最大文件打开数时,可能会导致后续的访问出现报错,需要修改启动用户的最大文件打开数限制

各应用目录磁盘使用情况

展示应用相关的root目录、工程目录、备份目录、temp目录、schedule目录和logs目录所在的磁盘空间使用率情况,当使用率超过80%时会飙红显示,可用磁盘空间不足可能会影响应用的正常运行甚至宕机,需要尽快进行磁盘清理或扩容

JVM负载

JVM的负载变化情况,负载是帆软根据gc信息计算得出的应用压力量化方式,相比内存能够更真实的反映应用的压力情况,负载过高说明应用压力大

当负载超过80时需要关注是否存在异常

JVM内存使用率JVM的内存使用率变化情况,反映应用的客观内存占用情况,可能包含可被gc回收的内存占用
JVMCPU使用率JVM的CPU使用率变化情况,反映应用的CPU占用情况
应用进程实际占用物理内存

随时间变化,应用实际占用的物理内存大小

单位:GiB

GC次数

随时间的gc次数变化情况,gc次数越多通常gc负荷越大

GC时间应用每秒花在gc上的时间变化情况,反应gc的负荷和应用的吞吐量,gc时间越长,应用吞吐量越小

2.3 历史运行状态

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
系统运行时长应用上次持续运行的时长
上次宕机信息上次应用宕机的时间
近一个月节点总宕机记录帆软系统进近一个月的宕机记录,用于回溯历史异常情况考虑
近一个月的高风险卡顿次数近一个月帆软系统的高负载高风险(负载分大于100分/120)次数记录

3. 服务器监控编辑

服务器监控仪表板主要用于监控帆软应用及相关组件运行的服务器的状态,方便及时关注服务器的各项指标情况,避免影响应用的正常运行。

管理员登录「运维平台」,点击「监控仪表板>服务器监控」,即可查看仪表板。分为两个部分:总览、服务器明细。

注:服务器操作系统若为 centos7 以下,可能导致部分节点指标返回异常,建议使用 7.0 以上版本的系统。

3.1 总览

1)仪表板示例:

如果有多个网卡或者多个分区,是采集的使用率最高的网卡或者分区的数值。

如果出现异常指标将标红/标黄显示,通过点击应用名称可以联动下方明细指标。

2)仪表板指标说明:

指标
具体说明
IP应用所在服务器IP和端口号
内存服务器物理内存
CPU核服务器CPU核
运行时间
服务器持续运行时长
5m负载-
CPU使用率显示CPU性能情况和当前的CPU使用率,如CPU使用率过高说明计算压力较大,需要提升CPU性能或排查具体计算任务
内存使用率显示服务器当前内存使用率,如内存过高可能会导致宕机,需要加大物理内存或中止部分占用内存较多的进程
磁盘可用空间服务器磁盘剩余可用空间
磁盘读取根目录磁盘的读取速率BPS,反映了磁盘读写性能消耗情况
磁盘写入根目录磁盘的写入速率BPS,反映了磁盘读写性能消耗情况
TCP连接数

当前状态为 ESTABLISHED 或 CLOSE-WAIT 的 TCP 连接数

TCP_tw-
下载带宽服务器网络上行速率,用于判断服务器网络的压力情况
上传带宽服务器网络下行速率,用于判断服务器网络的压力情况

3.2 服务器明细

1)仪表板示例:

2)仪表板指标说明:

指标具体说明
系统信息展示系统的版本、以及各项环境信息,便于运维人员确定环境信息并排查问题
文件打开数启动应用的用户会有最大文件打开数的限制,当前应用文件打开数接近最大文件打开数时,可能会导致后续的访问出现报错,需要修改启动用户的最大文件打开数限制
CPU使用率显示CPU性能情况和当前的CPU使用率,如CPU使用率过高说明计算压力较大,需要提升CPU性能或排查具体计算任务
内存使用显示当前服务器内存使用率,如内存过高可能会导致宕机,需要加大物理内存或中止部分占用内存较多的进程
磁盘使用率曲线显示当前服务器根目录的磁盘使用率,如磁盘使用率过高可能导致宕机或使用异常,需要加大磁盘空间或进行磁盘清理
磁盘读写速率曲线(BPS)
根目录磁盘的每秒读取/写入速率BPS,反映了磁盘读写性能消耗情况
磁盘每秒读写请求数量(IOPS)根目录磁盘每秒读取/写入请求数量IOPS,反映了磁盘读写性能消耗情况
CPU等待磁盘IO完成时间的百分比展示一段时间内的CPU等待磁盘IO完成时间的百分比曲线,此项数值较高说明当前系统的磁盘使用率非常高,并且cpu的大部分时间处于等I/O的状态,这个时候,往往说明I/O遇到了瓶颈
磁盘IO的CPU使用率展示一段时间内被磁盘IO消耗的CPU比率的曲线
网络带宽使用展示服务器一段时间内的每秒网络上行/下行速率,用于判断服务器网络的压力情况
TCP连接数各种状态下的TCP连接数包括LISTEN、SYN_SENT、ESTABLISHED、SYN_RECV、FIN_WAIT1、CLOSE_WAIT、FIN_WAIT2、LAST_ACK、TIME_WAIT、CLOSING、CLOSED
inode使用率(仅linux)展示服务器一段时间的inode使用率

当磁盘还未存满,但inode已经分配完时会出现无法在磁盘新建文件的情况

4. 运维平台监控编辑

运维平台监控仪表板用于监控运维平台中各个运维组件的运行情况。

1)仪表板示例:

111.png

2)仪表板指标说明:

指标
具体说明
CPU使用率运维平台所在机器CPU使用率
内存使用率

运维平台所在机器内存使用率

挂载磁盘总量运维平台挂载磁盘的空间总量
挂载磁盘使用量运维平台挂载磁盘已使用空间占比
挂载磁盘负载运维平台挂载磁盘的负载
容器资源占用总览表运维平台所管理容器的指标
容器内存使用率内存利用率:每个容器的内存限制、已用内存;内存饱和度:内存故障计数
容器CPU使用率IOPS、BPS
容器磁盘读写速率曲线网络上下行速率
容器磁盘每秒读写请求数量网络读写请求数量

5. 应用监控编辑

应用监控仪表板用于监控帆软应用的运行情况,不同于主仪表板,应用监控仪表板可以针对单个节点的运行状态的详细数据进行查询。

5.1 节点状态总览

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
节点名称当前查看的应用的节点名称
节点IP当前查看的应用节点的IP和端口号
运行时长
当前查看的应用持续运行的时长。即距离上次启动的时间
实际物理内存占用

当前查看的应用,实际占用的物理内存大小

单位:GiB

存活会话数当前存活会话数,可以用于了解应用的并发峰值情况
线程死锁数如果出现线程死锁,可能会出现宕机等使用异常,需要关注并排查故障
负载分由于 GC 机制的作用,通过内存使用率来表征 JVM 负载高低的方式并不能很好地反应 JVM 真实负载情况

因此帆软引入负载分来反应 JVM 真实负载情况,通过GC 回调来获取 GC 数据,并准确衡量 JVM 负载的各种状态

内存使用率内存使用率 = 当前使用的内存 / 可以使用的最大内存

当前使用的内存:当前使用的内存大小(字节)

最大内存:可以使用的最大内存(字节),分配给 JVM 的最大内存

CPU使用率CPU使用率 = 采集时刻 CPU 使用率
root目录磁盘余量

显示检查的磁盘剩余可用的目录总量

单位:GiB

工程磁盘余量

显示检查的磁盘剩余可用的目录总量

单位:GiB

logs目录磁盘余量

显示检查的磁盘剩余可用的目录总量

单位:GiB

temp目录磁盘余量

显示检查的磁盘剩余可用的目录总量

单位:GiB

5.2 节点明细

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
JVM负载

JVM的负载变化情况,负载是帆软根据gc信息计算得出的应用压力量化方式,相比内存能够更真实的反映应用的压力情况,负载过高说明应用压力大

当负载超过80时需要关注是否存在异常

JVM内存使用率JVM的内存使用率变化情况,反映应用的客观内存占用情况,可能包含可被gc回收的内存占用
JVMCPU使用率JVM的CPU使用率变化情况,反映应用的CPU占用情况
应用进程实际占用物理内存

随时间变化,应用实际占用的物理内存大小

单位:GiB

GC次数

随时间的gc次数变化情况,gc次数越多通常gc负荷越大

GC时间应用每秒花在gc上的时间变化情况,反应gc的负荷和应用的吞吐量,gc时间越长,应用吞吐量越小
文件打开数

启动应用的用户会有最大文件打开数的限制,当前应用文件打开数接近最大文件打开数时,可能会导致后续的访问出现报错,需要修改启动用户的最大文件打开数限制

各应用目录磁盘使用情况

展示应用相关的root目录、工程目录、备份目录、temp目录、schedule目录和logs目录所在的磁盘空间使用率情况,当使用率超过80%时会飙红显示,可用磁盘空间不足可能会影响应用的正常运行甚至宕机,需要尽快进行磁盘清理或扩容

各目录磁盘增长情况各个目录所在磁盘大小的增长情况,如果剩余空间不足10GB可能会影响应用的正常运行甚至宕机,需要尽快进行磁盘清理或扩容
会话数曲线当前存活会话数,以及存活会话、新增会话和关闭会话数的变化曲线,可以用于了解应用的并发峰值情况
线程死锁数量如果出现线程死锁,可能会出现宕机等使用异常,需要关注并排查故障
线程说明

包括:

容器当前已使用线程数

容器最大线程数(实时)

图表当前已使用线程数

图表最大线程数(实时)

spider图表当前长查询线程数

spider图表长查询等待线程数

spider图表长查询最大线程数

spider图表当前短查询线程数

spider图表短查询等待线程数

spider图表短查询最大线程数

注:spider图表线程监控只在BI使用中才会显示,FR中图表显示为空

1)当容器当前已使用线程数=容器最大线程数时,需要调整容器最大线程池数量

  • 非容器化部署:修改 Tomcat/conf/server.xml配置文件,调整maxThreads到合适大小(建议范围200~2000),需重启生效

  • 容器化部署:可在运维平台-运维工具-容器管理中可视化修改参数,修改参数名和数值同上

2)当spider图表当前已使用线程数=spider图表最大线程数时,需要调整图表最大线程池数量

  • 非容器化部署:修改finedb中FINE_CONF_ENTITY表配置信息,调整SystemOptimizationConfig.chartDataThreadPoolNum到合适大小(建议范围8~50),需重启生效

  • 容器化部署:可在运维平台-配置管理中可视化修改参数,修改参数名和数值同上

5.3 应用信息

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
系统在线用户数当前在线用户数和在线用户曲线,可以用于判断系统最大在线用户数
应用版本信息应用版本信息,便于进行问题的排查定位
JVM参数JVM的参数信息,便于进行问题的排查定位
应用插件列表应用的插件列表,便于进行问题的排查定位

5.4 BI资源监测

1)仪表板示例:

注:若无BI组件,则BI资源监测内容均显示为空。

2)仪表板指标说明:

指标
具体说明
插件列表
BI工程安装的插件列表,便于进行问题的排查定位

基础表选择器

分析表选择器

关联选择器

分别记录三种选择器的最大值、running值,从而得知更新任务的并发情况
dag信息监控可以知道dag的运行情况

top1dag监控

top2dag监控

top3dag监控

这些信息可以知道这个dag中任务的调度情况
分析表标红检测队列得知标红刷新队列运行信息
明细表导出线程池监测明细表导出线程池最大线程数和明细表导出线程池活跃线程数

spider核心计算BaseCriteria线程池(短)

spider核心计算BaseCriteria线程池(长)

spider核心计算(BaseCriteria)的并发线程池

spider核心计算求汇总结果线程池(短)

spider核心计算求汇总结果线程池(长)

spider核心计算求汇总结果的线程池

spider分页计算线程池(短)

spider分页计算线程池(长)

spider分页计算线程池
直连和抽取查询线程池
引擎侧的查询基本都会用这个线程,包括直连和抽取
去重/中位数/def函数时会拆分计算合计值,使用去重/中位数/def函数时会拆分计算合计值,使用

关联更新资源池

ETL更新资源池

包括权重值、active_stages、running_tasks、调度模式、核心数
spark任务相关包括运行核心数、正在运行任务数、失败任务数、完成任务数、总任务数
spark内存相关指标包括堆内总执行内存、存储内存使用量
引擎模块包括etl编辑资源池和默认资源池的权重、运行的stage、运行的task、调度的模式、核心数、excel导出资源池核心数
表选择器等待队列
spark任务相关资源
集群更新时,发送节点文件同步速率触发更新时的参数

集群recover节点,文件的异步下载速率

集群recover节点,合并后的小文件下载任务数

集群更新时,发送节点等待文件同步完成耗时

集群recover节点,大文件下载任务数

集群recover节点信息
集群任务队列

包括中止任务次数、插队任务数、更新实例数、更新callback的任务数(对应原子表)、分组事务数(对应分组)

excel导出资源池

包括权重值、active_stages、running_tasks、调度模式、核心数

直连可落磁盘缓存监控

直连内存缓存监控

抽取全局缓存监控

抽取分页缓存监控

包括申请的最大内存、当前使用的内存情况、缓存的命中率

6. 组件监控编辑

6.1 外接数据库监控

外接数据库监控主要用来监控外接数据库的压力情况,避免因为外接数据库的不稳定而影响帆软系统的正常使用。

注:仅支持监控MySQL5.6以上版本外接数据库。

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
是否存活外接数据库是否存活
运行时长外接数据库举例上次启动的时长
缓冲池大小缓冲池大小,内存允许的情况下缓冲池越大性能越好
缓冲池利用率
展示一段时间内缓冲池利用率的变化趋势
磁盘读取请求次数磁盘读取请求次数,磁盘读取请求次数持续增长可能出现外接数据库性能差,磁盘io压力大等问题
连接数展示外接数据库的剩余连接数和实例拒绝连接数,如果剩余连接数不足可能会出现应用访问异常
QPS展示外接数据库每秒处理的请求数量,用来判断外接数据库的压力情况
正在查询的数量展示外接数据库正在查询的语句数量,持续增长可能说明外接数据库超负荷
慢查询数量展示外接数据库的慢查询数量,如果慢查询数量持续增长可能影响外接数据库的性能及可用性,需要关注具体慢查询的情况
死锁信息展示数据库的死锁信息:

ts:检测到死锁的时间戳

thread:产生死锁的线程id,这个id和show processlist里面的线程id是一致的

txn_id:innodb的事务ID

txd_time:死锁检查到前,事务执行时间

user:执行transcation的用户名

db:发生死锁的DB名

tbl:死锁发生的表名

idx:产生死锁的索引名(在上面这个demo里面, 我们直接走的主键,加的记录锁)

lock_type:锁的类型(记录锁,gap锁,next-key锁)

lock_mode:锁模式(S,X)

wait_hold:是否等着锁释放,一般死锁都是两个wait

victim:该会话是否做了牺牲,终止了执行

query:造成死锁的SQL语句

6.2 Redis监控

Redis监控仪表板用于监控帆软系统使用的Redis状态服务器的运行情况。

6.2.1 基本信息

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
是否存活redis的存活状态
redis版本redis的版本
模式
单机还是集群
运行时长redis本次启动的运行时长
集群活跃节点数集群活跃的节点数
主节点数集群主节点数量
从节点数集群从节点数量
redis内存信息redis分配的内存和使用情况,通常来说redis内存占用比较小,如果出现内存使用率很高,那么可能存在异常
内存使用率曲线一段时间内已用内存在分配内存中的占比
内存碎片率

内存碎片率表示「Redis向操作系统中申请的内存」 与「分配器分配的内存总量」的比值

指数>1表明有内存碎片,越大表明越多,<1表明正在使用虚拟内存,虚拟内存其实就是硬盘,性能比内存低得多,这是应该增强机器的内存以提高性能。
一般来说,内存碎片率数值在1 ~ 1.5之间是比较健康的。

大于1.5表示,系统分配的内存大于Redis实际使用的内存,Redis没有把这部分内存返还给系统,产生了很多内存碎片。在Redis 4.0版以前,只能通过安全重启解决这个问题。Redis 4.0及以上版本可以支持内存自动清理。

小于1表示,系统分配的内存小于Redis实际使用的内存,而Redis很有可能在使用Swap了!使用swap是相当影响性能的。

6.2.2 使用情况

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
客户端连接个数用于查看当前redis的客户端连接个数,默认的客户端连接数最大限制为10000,如果连接数过高,会影响redis吞吐量。>5000   时通常就需要进行告警
redis每秒执行的命令数展示一段时间内redis每秒执行命令数的曲线
每秒查找数据库键成功/失败的次数展示每秒查找数据库的hit/miss的次数,用于参考根据业务需求调优Redis配置
过期/未过期数据库键数展示redis中过期/未过期数据库键数,用于参考根据业务需求调优Redis配置

6.3 Nginx监控

Nginx监控仪表板用于监控帆软系统使用的Nginx服务器的运行情况,重点关注的是请求情况。

1)仪表板示例:

2)仪表板指标说明:

指标
具体说明
是否存活Nginx的存活状态
读取客户端的连接数展示当前读取中的客户端连接数
回写客户端的连接数展示当前回写中的客户端连接数
等待中的客户端的链接数展示当前等待中的客户端连接数
用户请求总数展示一段时间内的用户请求总数变化情况
活跃用户连接数展示一段时间内活跃的用户连接数变化的情况
接收到的用户连接数展示一段时间内接收到的用户连接数变化情况
处理的用户连接数展示一段时间内处理的用户连接数变化情况

6.4 Elasticsearch监控

注:若未安装Elasticsearch组件,则不显示Elasticsearch监控仪表盘。

1)仪表板示例:

6.5 Minio监控

注:若未安装Minio组件,则不显示Minio监控仪表盘。

1)仪表板示例: