1. 概述
1.1 版本
运维平台版本 | 功能变更 |
---|---|
V1.5.5 | - |
V1.11.0 | 新增「加速引擎监控」,帮助管理员监控管理BI大数据引擎组件 |
V2.1.0 | 1)对于非运维平台部署的项目,支持手动调整nginx、加速引擎监控信息 2)集群组件出现变更后,监控自动变更配置,确保正常监控 |
V2.6.0 | 新增「kafka监控」,帮助管理员监控管理FineDataLink的kafka组件 |
V2.8.0 | 支持监控非运维平台部署的kafka组件 |
V2.12.0 | 对于运维平台部署的项目,支持手动调整nginx、kafka、加速引擎的配置信息 确保部署成功后手动调整相关组件配置的项目,仍可被正常监控 |
1.2 功能简介
组件监控,主要用来监控运维项目中,各类组件(外接数据库、Nginx、Elasticsearch等)的运行状况,使用情况等。
1.3 操作步骤
1)如需正常使用本文看板,请务必达成使用前提,详情请参见:监控仪表板使用前提
2)管理员登录FineOps运维平台,选择运维项目,点击「项目监控>组件监控」。
3)点击右上角可切换查看不同组件:外接数据库监控、Redis监控、Nginx监控、Elasticsearch监控、Minio监控、加速引擎监控。
注1:右上角支持切换查看不同时间段的监控数据,默认时间段为前30分钟,支持查看时间范围为前15天。
注2:根据运维项目中的组件构成,会导致下文提及的部分仪表盘无数据。
例如若未安装Elasticsearch组件,则Elasticsearch监控仪表盘无数据。
例如若未安装MinIO组件,则MinIO监控仪表盘无数据。
2. 外接数据库监控
外接数据库监控主要用来监控外接数据库的压力情况,避免因为外接数据库的不稳定而影响帆软系统的正常使用。
注:仅支持监控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语句 |
3. Redis监控
Redis监控仪表板用于监控帆软系统使用的Redis状态服务器的运行情况。
1)仪表板示例:
2)仪表板指标说明:
指标 | 具体说明 |
---|---|
是否存活 | redis的存活状态 |
redis版本 | redis的版本 |
模式 | 单机还是集群 |
运行时长 | redis本次启动的运行时长 |
集群活跃节点数 | 集群活跃的节点数 |
主节点数 | 集群主节点数量 |
从节点数 | 集群从节点数量 |
redis内存信息 | redis分配的内存和使用情况,通常来说redis内存占用比较小,如果出现内存使用率很高,那么可能存在异常 |
内存使用率曲线 | 一段时间内已用内存在分配内存中的占比 |
内存碎片率 | 内存碎片率表示「Redis向操作系统中申请的内存」 与「分配器分配的内存总量」的比值 指数>1表明有内存碎片,越大表明越多,<1表明正在使用虚拟内存,虚拟内存其实就是硬盘,性能比内存低得多,这是应该增强机器的内存以提高性能。 大于1.5表示,系统分配的内存大于Redis实际使用的内存,Redis没有把这部分内存返还给系统,产生了很多内存碎片。在Redis 4.0版以前,只能通过安全重启解决这个问题。Redis 4.0及以上版本可以支持内存自动清理。 小于1表示,系统分配的内存小于Redis实际使用的内存,而Redis很有可能在使用Swap了!使用swap是相当影响性能的。 |
客户端连接个数 | 用于查看当前redis的客户端连接个数,默认的客户端连接数最大限制为10000,如果连接数过高,会影响redis吞吐量。>5000 时通常就需要进行告警 |
redis每秒执行的命令数 | 展示一段时间内redis每秒执行命令数的曲线 |
每秒查找数据库键成功/失败的次数 | 展示每秒查找数据库的hit/miss的次数,用于参考根据业务需求调优Redis配置 |
过期/未过期数据库键数 | 展示redis中过期/未过期数据库键数,用于参考根据业务需求调优Redis配置 |
4. Nginx监控
Nginx监控仪表板用于监控帆软系统使用的Nginx服务器的运行情况,重点关注的是请求情况。
4.1 仪表板简介
1)仪表板示例:
2)仪表板指标说明:
指标 | 具体说明 |
---|---|
是否存活 | Nginx的存活状态 |
读取客户端的连接数 | 展示当前读取中的客户端连接数 |
回写客户端的连接数 | 展示当前回写中的客户端连接数 |
等待中的客户端的链接数 | 展示当前等待中的客户端连接数 |
用户请求总数 | 展示一段时间内的用户请求总数变化情况 |
活跃用户连接数 | 展示一段时间内活跃的用户连接数变化的情况 |
接收到的用户连接数 | 展示一段时间内接收到的用户连接数变化情况 |
处理的用户连接数 | 展示一段时间内处理的用户连接数变化情况 |
4.2 注意事项
对于非运维平台部署的项目的nginx,和手动配置了运维平台部署的项目的nginx,在接入运维平台监控时,无法自动获取nginx信息。
用户需要手动安装ngx_http_stub_status_module模块,再进行信息配置。
Nginx状态监控模块ngx_http_stub_status_module是统计Nginx服务所接收和处理的请求数量的模块。
1)检查是否安装模块
进入运维项目的Nginx的安装目录(本示例/usr/nginx是一个示例目录,请根据实际情况,确保使用正确的目录名)
cd /usr/nginx
检查Nginx启用了哪些模块
./nginx -V
结果
如果已启用,将在命令输出中看到http_stub_status_module的相关信息「with-http_stub_status_module」。
如果没有启用http_stub_status_module模块,则需要重新编译nginx。
2)安装模块
进入Nginx的安装目录(本示例/usr/nginx是一个示例目录,请根据实际情况,确保使用正确的目录名)
cd /usr/nginx
在configure命令中,添加http_stub_status_module的支持
./configure --with-http_stub_status_module
注:请将上一步中「nginx -V」发现的已安装的模块都一一带上,例如./configure --with-http_stub_status_module --prefix=/usr/nginx --with-pcre=/usr/nginx/pcre-8.42 --with-zlib=/usr/nginx/zlib-1.2.11 --with-http_ssl_module --with-openssl=/usr/nginx/openssl-1.1.1a --with-stream --add-module=/usr/nginx/ngx_healthcheck_module-master
编译和安装Nginx
make && make install
3)启用模块
打开nginx.conf文件并修改
在默认情况下,nginx.conf 文件通常位于 Nginx 的安装目录下的 conf 目录中。
cd /usr/nginx/conf
在nginx.conf文件中,找到server {}块,并添加以下配置,以启用ngx_http_stub_status_module模块查询Nginx状态。
location /basic_status {
stub_status on;
#allow 127.0.0.1; #限制访问ip,可自行修改127.0.0.1为所需开放的ip
#deny all; #deny all other hosts
}
注意事项:
Location地址请严格命名为basic_status。
allow 127.0.0.1和deny all表示仅允许本地访问。
若需允许Nginx Exporter访问,则可将这两行代码注释,或者将127.0.0.1设置为Nginx Exporter的IP地址。
4)重启Nginx
进入Nginx的安装目录(本示例/usr/nginx是一个示例目录,请根据实际情况,确保使用正确的目录名)
cd /usr/nginx
检查Nginx配置文件的语法和结构是否正确
./nginx -t
关闭Nginx服务器
./nginx -s stop
重新加载 Nginx 的配置文件并启动服务器
nginx
5)验证模块是否启用
验证ngx_http_stub_status_module模块是否已成功启动
使用语句查询,若出现提示「server accepts handled requests」则表示ngx_http_stub_status_module模块已成功启动。
curl http://127.0.0.1/basic_status
6)运维平台对接Nginx
管理员登录运维平台,选择运维项目,点击「项目监控>组件监控」,选择「Nginx监控」,点击「设置」。
填入nginx相关信息,点击「确定」即可。
5. Elasticsearch监控
注:若未安装Elasticsearch组件,则Elasticsearch监控仪表盘无数据。
1)仪表板示例:
6. Minio监控
注:若未安装Minio组件,则Minio监控仪表盘无数据。
1)仪表板示例:
7. 加速引擎监控
7.1 仪表板简介
注:若未安装StarRocks组件,则加速引擎监控仪表盘无数据。
1)仪表板示例:
7.2 注意事项
对于非运维平台部署的项目的加速引擎,和手动配置了运维平台部署的项目的加速引擎,在接入运维平台监控时,无法自动获取加速引擎信息,需要用户手动配置。
管理员登录运维平台,选择运维项目,点击「项目监控>组件监控」,选择「加速引擎监控」,点击「设置」。
填入StarRocks的各个引擎信息,点击「确定」即可。
8. kafka监控
注:若未安装kafka组件,则kafka监控仪表盘无数据。
8.1 仪表板简介
8.2 注意事项
支持监控运维平台部署的、V20.0.2及以上版本的、未手动修改过相关配置的kafka组件
对于非运维平台部署的项目的kafka,和手动调整过的运维平台部署的项目的kafka,在接入运维平台监控时,需要用户手动配置方可监控。
管理员登录运维平台,选择运维项目,点击「项目监控>组件监控」,选择「Kafka监控」,点击「设置」。
填入kafka的服务器IP和端口,点击「确定」即可。