DBLOG
» WTF
Toggle navigation
DBLOG
主页
OCM
1、概览
2、数据导入导出
3、GaussDB(DWS)数据库管理
4、数据库调优与开发实践
5、湖仓一体
6、开发应用
7、集群管理
8、巡检和维运维
About Me
归档
标签
2、巡检工具及运维工具
无
2025-05-22 15:09:09
0
0
0
admin
# 巡检工具介绍 ## 巡检工具使用规范 ### 巡检任务概述 | 序号 | 巡检任务 | 使用场景 | TOP巡检项 | 使用规范 | |------|----------------|---------------------------------------------|----------------------------------------------------------------|---------------------------| | 1 | 日常巡检 | 用于集群日常维护,获取集群的健康状态,发现潜在风险问题。 | 集群状态、负载均衡状态、CPU使用率、磁盘性能和使用率、日志空间大小、内存泄露、数据倾斜、透明大页、周期性备份等 | 每单周或双周执行一次 | | 2 | 升级前巡检 | 用于版本升级前,提前发现可能影响升级的问题。 | 集群状态、文件系统占用率、磁盘可用空间、防火墙关闭、xid回滚、系统表是否损坏 | 升级版本前5天内执行 | | 3 | 扩容前巡检 | 用于扩容操作前,提前发现可能影响扩容的风险问题。 | 集群状态、节点间互信、磁盘使用率、磁盘的inodes使用率、数据倾斜、SCTP模块是否安装等 | 扩容操作前5天内执行 | | 4 | 温备前巡检 | (仅HCS形态支持)用于温备操作前,提前发现可能影响温备的风险问题。 | 全部11项 | 温备操作前5天内执行 | | 5 | 深度巡检 | 用于日常维护,获取更深度的健康状态,发现集群的潜在风险,需停止业务后执行。 | 磁盘使用率、僵尸进程、内存泄漏、残留临时表、是否有psort索引、负载均衡状态、分布键顺序、开启analyze、guc参数符合调优条件等 | 每年执行一次 | --- ## HCS形态巡检工具介绍 ### 工具介绍 Inspect 插件是面向技术支持和维护工程师的 HCS 集群界面化健康检查工具,能够检查集群相关节点、服务的健康状态,提前发现潜在问题并生成健康检查报告。该插件与集群版本解耦,使用前可直接升级到最新版。 ### 适用场景 适合在集群日常维护、升级、扩容、温备等操作前快速检查集群软件、硬件、配置等的健康状态。 ### 常用巡检功能 | 序号 | 巡检任务 | 使用说明 | |------|----------------|---------------------------------------------| | 1 | 日常巡检 | 用于集群日常维护,获取健康状态,发现潜在风险。 | | 2 | 升级前巡检 | 用于版本升级前,提前发现可能影响升级的问题。 | | 3 | 扩容前巡检 | 用于扩容操作前,提前发现可能影响扩容的风险问题。 | | 4 | 温备前巡检 | 用于温备操作前,提前发现可能影响温备的风险问题。 | | 5 | 深度巡检 | 用于获取更深度的健康状态,发现潜在风险,需停止业务后执行。 | --- ## ESL形态巡检工具介绍 ### 工具介绍 FusionInsight Tool DWS Prober 是为工程师提供的一套健康检查工具,能够检查集群相关节点、服务的健康状态,提前发现潜在问题并生成健康检查报告。该工具由 FusionCare 和 SysChecker 两部分组成,分别提供对租户面节点和管控面 FusionInsight 的巡检功能。 ### 适用场景 适用于集群安装后,对集群的服务状态、节点硬件状态、操作系统配置等进行检查。 ### 常用巡检功能 | 序号 | 巡检任务 | 使用说明 | |------|----------------|---------------------------------------------| | 1 | 日常巡检 | 用于集群日常维护,获取健康状态,发现潜在风险。 | | 2 | 升级前巡检 | 用于版本升级前,提前发现可能影响升级的问题。 | | 3 | 扩容前巡检 | 用于扩容操作前,提前发现可能影响扩容的风险问题。 | | 4 | 深度巡检 | 用于获取更深度的健康状态,发现潜在风险,需停止业务后执行。 | --- # 运维工具介绍 ## 工具概述 DWS 提供运维工具包,针对现网高频问题和应急场景汇总成工具包,目标是通过工具一键收集定位定界信息,用于加快问题处理和提升运维效率。 ### 工具路径 ``` $GAUSSHOME/bin/dfx_tool ``` ### 工具列表 | 工具名称 | 工具类别 | 采集时间 | 监控粒度 | 功能概述 | 推荐度 | |-------------------|----------------|------------------------------|----------|-----------------------------------------------------------|--------| | gs_dbmonitor | 日常监控 | 长驻运行,采集周期: [1min, ~) | 集群级 | 数据库内日常作业情况监控 | 5 | | gs_ccnqueue | 应急分析 | 单次执行 | 集群级 | 收集 ccn 排队的详细信息 | 4 | | gs_cpuwatcher | 应急分析 | 长驻运行,采集周期: [1min, ~) | 单实例 | 监控单实例占用 CPU 高的语句 | 4 | | gs_iowatcher | 应急分析 | 长驻运行,采集周期: [5s, ~) | 单实例 | 监控单实例占用 IO 高的语句 | 4 | | gs_memwatcher | 应急分析 | 长驻运行,采集周期: [30s, ~) | 单实例 | 监控单实例占用内存高的语句 | 4 | | gsar | 日常监控 | 长驻运行,采集周期: [1s, ~) | 单节点 | 监控单节点网络丢包和重传情况 | 4 | | gs_coreanalyze | 应急分析 | 单次执行 | 单节点 | 分析 GaussDB 产生的 core dump | 5 | | gs_oscoreconfig | 应急分析 | 单次执行 | 单节点 | OS 中 core dump 配置工具 | 5 | | gs_tablescan | 数据校验 | 单次执行 | 小时级 | 通过全库扫描的方式检测表文件损坏 | 3 | | gs_diskusedcheck | 监控工具 | 单次执行 | 小时级 | 收集各磁盘满场景相关信息 | 3 | | gs_commands | 命令文本 | 全场景 | 集群级 | 运维常用命令集 | 5 | --- ## 运维工具介绍 - gs_dbmonitor ### 功能描述 - 周期采集集群 SQL 级的运行状态:DDL 探针、活跃语句、SQL 排队、作业等待、内存使用、主备同步等信息。 ### 使用场景 - 实时监控系统运行状态,实时查询集群 SQL 作业运行情况,查看异常指标。 - 汇总历史变化信息,转化为图表形式,分析业务和负载变化趋势,评估系统健康度。 ### 用法 ```bash sh gs_dbmonitor.sh $1 $2 # $1: 采集时间,单位为天,默认为7天; # $2: 采集周期,单位为秒,默认30秒 ``` - 工具通过周期从 CN 发送采集的查询来搜集集群运行数据。 - 查询结果写入到与 `gs_dbmonitor` 同级目录的 `dws_monitor-xxxx-xx-xx.log` 文件。 - 使用辅助工具 `gs_dbmonitor_analyze` 将该文件转化成图表形式的 HTML 页面进行查看: ```bash perl gs_dbmonitor_analyze.pl dws_monitor-xxxx-xx-xx.log ```  --- ## 运维工具介绍 - gs_ccnqueue ### 功能描述 - 排查 CCN 排队作业是否有异常,输出结果包括排队的作业数、可用内存数、剩余内存数、正在执行的作业的估算内存大小、执行时间、执行用户、执行的 SQL 等信息。 ### 用法 ```bash sh gs_ccnqueue.sh ``` - 采集结果生成到同级目录的两个文本文件: - `running_sql_xxxx-xx-xx.log`:正在运行 SQL - `ccnServerinfo_xxxx.log`:CCN 排队信息 ### 使用场景 - 有大量的作业在 waiting in ccnqueue 时,查看正在运行的作业和排队作业的资源消耗情况。   --- ## 运维工具介绍 - gs_cpuwatcher ### 功能描述 - 查找集群中引起 CPU 高的业务 SQL。 ### 用法 ```bash sh gs_cpuwatcher.sh ``` - 采集结果生成到同级目录的两个文件,`cpu_watch_xxx.log` 日志记录了 CPU 占用高的语句。 ### 使用场景 - 系统 CPU 使用率高,使用本工具抓取占用 CPU 高的业务 SQL。   --- ## 运维工具介绍 - gs_memwatcher ### 功能描述 - 对集群内 CN/DN 的实例进行单实例的内存监控,监控的内存维度包括: - 通过视图 `pv_total_memory_detail` 查询实例各个模块的内存使用情况。 - 按照所有语句 `memoryContext` 的内存降序排序,通过视图 `pv_session_memory_detail` 查看占用内存较多的 memoryContext。 - 查看占用的内存较多的 SQL 语句。 ### 用法 ```bash sh gs_memwatcher.sh $1 # $1:实例编号 ``` - 采集结果写入到与 `gs_memwatcher.sh` 同级目录的 `$1.log` 文件。 ### 使用场景 - 系统内存/动态内存使用率高时,使用本工具抓取占用内存高的业务 SQL,排查内存占用情况。   --- ## 运维工具介绍 - gs_iowatcher ### 功能描述 - 监控单 CN/DN 上业务 SQL 的 IO 使用情况,如需监控多个,可以起多个线程。 ### 用法 - 采集原始信息: ```bash python3 gs_iowatcher.py -pid=3110367 --env=1 ``` - 分析结果: ```bash python3 gs_iowatcher.py -analyze iowatcher.log -f "2024-08-29 23:42:00" -t "2024-08-29 23:43:00" ``` ### 使用场景 - 系统 IO 使用率高,使用本工具抓取占用 IO 高的业务 SQL。   --- ## 运维工具介绍 - gsar ### 功能描述 - 对指定网卡流量、重传、丢包等指标进行监测,快速定位网络问题。 ### 用法 ```bash sh gsar.sh $1 $2 # $1: 对应网卡名称 # $2: 间隔时间 ``` ### 使用场景 - 通过报错等问题定位到可能有网络故障时,使用该工具对网络进行排查。 ### 关键指标 - `recv_kbyte/send_kbyte`:接收/发送流量接近网卡上限,网络存在瓶颈。 - `drop_per/resend_per`:丢包/重传率超过 0.05%,网络链路存在隐患。  --- ## 运维工具介绍 - gs_oscoreconfig、gs_coreanalyze ### 功能描述 - 配置 OS 中的 core 文件,分析 GaussDB 产生的 core 文件,展示当前目录下所有已解析的 core 文件结果。 ### 使用场景 - 当集群内 GaussDB 进程产生 core 文件后,使用该工具分析 core 文件堆栈以排查进程异常退出原因。 ### 用法 ```bash python gs_oscoreconfig.py omm sh gs_coreanalyze.sh $1 # $1: 指定 core 文件的绝对路径,沙箱环境需在沙箱外执行 ```  --- ## 运维工具介绍 - gs_diskusedcheck ### 功能描述 - 对集群内所有磁盘的使用率进行筛选,识别超过阈值的磁盘。 ### 使用场景 - 磁盘告警或集群只读状态时,使用此工具进行排查。 ### 用法 ```bash sh gs_diskusedcheck.sh -t diskusedcheck -u 70 # 识别集群内阈值超过70%的盘 ``` ```bash sh gs_diskusedcheck.sh -t fastcheck -D /DWS/data1/h0dn1/primary0 # 对单个DN进行快速检查(检查专有目录的大小) ``` ```bash sh gs_diskusedcheck.sh -t largetablecheck -D /DWS/data1/h0dn1/primary0 -s 1 # 对单个DN或单个磁盘进行大表检查 ```  --- ## 运维工具介绍 - gs_tablescan ### 功能描述 - 快速校验集群内表文件是否有损坏或者表查询异常。 ### 用法 ```bash # explain analyze select方式 sh gs_tablescan.sh -m 0 -p 25490 # verify方式 sh gs_tablescan.sh -m 1 -p 25308 # fast方式 sh gs_tablescan.sh -m 2 -p 25308 ``` ### 使用场景 - 发现存在表数据文件损坏后,使用此工具进行全库排查(磁盘故障,全局排查,数据校验)。  --- # TopSQL介绍 TopSQL 是 GaussDB(DWS) 数据库中内置的一款功能十分强大的性能分析工具。该工具用于在生产环境中记录运行中的语句(实时 TopSQL)和运行完成后的语句(历史 TopSQL),以便于在出现异常情况时进行快速分析和定位。  --- ## 实时 TopSQL (1) ### 使用前提条件 - GUC 参数 `enable_resource_track` 为 on(默认为 on)。 - GUC 参数 `resource_track_level` 为 `query`、`perf` 或 `operator`(默认为 `query`)。 - 监控作业的类型为: - 优化器估算的执行代价大于或等于 `resource_track_cost` 取值的作业。 - Cgroups 功能正常加载,可通过 `gs_cgroup -P` 查看控制组信息。 ### 实时 TopSQL 常用视图 - 通过视图 `gs_session_cpu_statistics` 查询实时 CPU 信息。 - 通过视图 `gs_session_memory_statistics` 查询实时内存信息。 - 通过视图 `gs_wlm_session_statistics` 查询当前 CN 的实时资源。 - 通过视图 `pgxc_wlm_session_statistics` 查询所有 CN 的实时资源。 - 通过视图 `gs_wlm_operator_statistics` 查询当前 CN 作业算子执行实时资源信息。 --- ## 实时 TopSQL (2) ### 使用场景 - 实时监控和分析当前正在运行的 SQL 语句,识别资源消耗高的语句。 - 快速诊断和解决性能问题,维护系统的稳定性。 --- ## 历史 TopSQL (1) ### 使用前提条件 - GUC 参数 `enable_resource_track` 为 on(默认为 on)。 - GUC 参数 `resource_track_level` 为 `query`、`perf` 或 `operator`(默认为 `query`)。 - GUC 参数 `enable_resource_record` 为 on(默认为 on)。 - GUC 参数 `resource_track_duration` 小于作业执行时间(默认为 60s)。 - GUC 参数 `enable_track_record_subsql` 控制是否记录存储过程、匿名块内部语句(默认为 on)。 - GUC 参数 `resource_track_subsql_duration` 小于存储过程中内部语句的执行时间(默认为 180s)。 - 监控作业类型为:资源监控实时视图中记录的作业结束时的执行时间大于或等于 `resource_track_duration` 的作业。 - Cgroups 功能正常加载,可通过 `gs_cgroup -P` 查看控制组信息。 --- ## 历史 TopSQL (2) ### 常用视图 - 通过视图 `gs_wlm_session_history` 查询当前 CN 最近执行作业结束后的负载记录。 - 通过视图 `pgxc_wlm_session_history` 查询所有 CN 最近执行作业结束后的负载记录。 - 通过数据表 `gs_wlm_session_info` 查询当前 CN 作业执行结束后的负载记录。要查到历史记录,必须保证 `enable_resource_record` 为 on。 - 通过函数 `pgxc_get_wlm_session_info_bytime` 对视图 `pgxc_wlm_session_info` 进行筛选查询,确保 `enable_resource_record` 为 on。在统计数据量很大的场景中,建议使用该函数进行查询。 - 通过视图 `gs_wlm_operator_history` 查询当前 CN 作业算子最近执行资源信息。要查到记录,必须保证 `resource_track_level` 为 `operator`。 - 通过视图 `pgxc_wlm_operator_history` 查询所有 CN 作业算子最近执行资源信息。要查到记录,必须保证 `resource_track_level` 为 `operator`。 ### 使用场景 - 分析历史 SQL 执行的资源使用情况,识别资源消耗高的 SQL。 - 追溯系统性能问题,帮助优化数据库性能和稳定性。 --- # 总结 本文介绍了巡检工具和运维工具的使用规范及功能,重点在于如何通过这些工具进行集群的健康检查和性能分析。通过定期的巡检和及时的运维操作,可以有效地发现和解决潜在的问题,从而提升系统的稳定性和性能。 ### 巡检工具的使用场景 - 日常维护、版本升级、扩容操作前的健康检查。 - 深入分析集群的运行状态,及时发现潜在风险。 ### 运维工具的功能 - 监控集群资源使用情况,快速定位和解决问题。 - 提供丰富的分析工具,帮助技术人员执行更高效的运维管理。 通过合理的使用这些工具,运维团队可以提高工作效率,减少故障发生的可能性,并在问题出现时快速响应。 如有更多问题或需要进一步的帮助,请随时联系我!
上一篇:
2、历史TopSQL解析
下一篇:
2、湖格式——Hudi
0
赞
1 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网