一键巡检工具gather.sh
本工具是巡检的全面工具,实现主机侧 (操作系统)与数据库侧全面化检测,并对检测结果进行自动数据收集打包;检查方向包括:硬件配置,系统参数,操作系统运行的信息,数据库的配置信息,以及数据库状态,数据库安全等信息;
#### 适用环境
系统环境: Linux系统 + KingbaseES (V9)
权限要求: 本系统工具需要root权限执行,数据库系统需要superuser权限执行。
执行时间: 默认安全扫描大概执行时间为2~4分钟,程序执行时间的长度由检测文件的多少决定,有可能会存在较长的时间,请耐心等待。
兼容性: 目前程序针对Centos7.x、Kylin V10、Deepin进行开发测试,数据库系统:KingbaseES (V9)
脚本文件说明
| gather.sh | 主程序 |
|---|---|
| gather.conf | 环境变量参数文件,默认读取通用参数文件。无需修改。 |
| gather_html.conf | HTML显示风格参数文件,默认读取通用参数文件。无需修改。 |
| gather_linux.sh | Linux操作系统维护工具 |
| gather_kingbase.sh | KingbaseES数据库系统维护工具 |
| …/suptools.ini | 工具集的通用参数文件 |
工具的执行
工具脚本位置:/opt/Kingbase/ES/V9/KESRealPro/V009R003C011/SupTools/kb_gathertool(和 默认安装路径有关,不一定完全一样)
在执行之前需要修改参数文件:/opt/Kingbase/ES/V9/KESRealPro/V009R003C011/SupTools/suptools.ini,按照实际情况修改安装的路径和用户密码;
root@sydbdevip146116:/opt/Kingbase/ES/V9/KESRealPro/V009R003C011/SupTools$cat suptools.ini | grep -v ^#
[general]
HOME_PATH=/data/kingbase/kingbase
BIN_PATH=/data/kingbase/kingbase/bin
LD_LIBRARY_PATH=/data/kingbase/kingbase/lib:$LD_LIBRARY_PATH
[connect]
HOST=127.0.0.1
USER=system
PORT=54321
DATABASE=test
PASSWORD=12345678ab
[cluster]
POOL_PORT=9999
IP_LIST=10.32.146.117,10.32.146.120
[backup]
RMAN_PATH=/home/kingbase/backup/rmanbackup
DUMP_PATH=/data/backup/54321
DB_LIST=kingbase,huli
KEEP_TIME=7
[check]
CHECK_LEVEL=QUARTER
MODE=SINGAL
STATRESET=off
[diagtool]
SLEEPSECONDS=10
使用root用户权限,执行脚本,指定报表格式类型,本次选的是html格式,执行完会在当前目录产生一个日期_时间格式的文件夹,里面是本次的巡检报告。
root@sydbdevip146116:/opt/Kingbase/ES/V9/KESRealPro/V009R003C011/SupTools/kb_gathertool$sh gather.sh
请指定报表格式类型
~~~~~~~~~~~~~~~~~~~~~~~
报告类型选择HTML还是TEXT?
输入'html'作为html格式,或'text'作为文本格式,默认'text'。
请输入报表格式: html
报表格式类型 html
开始收集操作系统环境配置和运行状态等信息。
---->> CPU參数 </pre>
---->> 内存參数 </pre>
---->> SWAP參数 </pre>
---->> 块设备,HD、LVM </pre>
---->> PCI设备 </pre>
---->> 操作系统发布版本 </pre>
---->> 内核版本 </pre>
---->> 内核参数 </pre>
---->> 用户资源限制 </pre>
---->> selinux配置信息 </pre>
---->> logind配置信息 </pre>
---->> systemd配置信息 </pre>
---->> 内核引导参数 </pre>
---->> 磁盘IO调度算法 </pre>
---->> SSH配置信息 </pre>
---->> 防火墙服务状态信息 </pre>
---->> 防火墙的zone信息 </pre>
---->> IPtables服务状态信息 </pre>
---->> IPtables服务的chain信息 </pre>
............................
---->> 检查 sys_views
---->> 简单密码检查
---->> 用户密码到期时间
---->> SQL注入风险分析
---->> 普通用户对象上的规则安全检查
---->> 普通用户自定义函数安全检查
---->> 无日志用户表
---->> 哈希索引
---->> 触发器
---->> 事件触发器
---->> 检查是否使用了A-Z a-z 0-9 _ 以外的字母作为对象名
---->> 锁等待
---->> 继承关系检查
---->> 获取当天数据库实例的KWR报告
---->> 生成的KWR报告文件
---->> 获取当前时间10分钟前数据库实例的KSH报告
KingbaseES 数据库系统信息采集文件包 ./gather_kingbase.tar.gz
-rw-r--r-- 1 root root 641428 Apr 28 11:25 ./gather_kingbase.tar.gz
KingbaseES 数据库系统巡检报告文件 ./report_kingbase.html
-rw-r--r-- 1 root root 278619 Apr 28 11:25 ./report_kingbase.html
巡检生成的文件:
- gather_kingbase.tar.gz 数据库收集信息的打包文件
- gather_linux.tar.gz 操作系统收集信息的打包文件
- report_kingbase.html 工具收集到的数据库信息的html格式报告
- repport_linux.html 工具收集到的操作系统信息的html格式报告
报告解读
1.report_kingbase.html
开始部分是数据库的基础信息以及许可信息:
基本信息
- 时间:2025-04-28 11:25:22
- 版本:KingbaseES V009R003C011
- 角色:主节点
- 建立版本:V009R003C011B0003,39462948,x86_64
- 数据库模式:mysql
许可信息
- License 序列号:启用,值为
E120F9D4-AC87-11EF-8CB3-000C29CBE49F - 生产日期:2024-11-27
- 产品名称:KingbaseES
- 细分版本模板名:SALES-企业版
- 产品版本号:V009R003C
- 有效期间:90 天
- 用户名称 和 项目名称:均为“官网企业版”

接下来是用户以及数据库插件信息
##### 用户数据库
- 数据库名称:
esrep、huli、kingbase、security、test - 管理员:均为
system - 编码规则:均为
UTF8 - 编码区域 和 编码分类:均为
zh_CN.UTF-8 - 连接限制:均为
-1(无限制) - 表空间:均为
sys_default
数据库插件
- 已安装插件:包括
src_restrict、sysencrypt、plan_cache_test、kdb_tinyint等,共计 60 多个插件。 - 插件版本:多数为 1.0 或 1.1,部分插件如
sys_rman、sys_stat_statements等版本较高。

数据库参数信息
- 配置参数名:如
DateStyle、default_text_search_config、lc_collate等。 - 当前值:如
ISO, YMD、pg_catalog.simple、zh_CN.UTF-8等。 - 计量单位:部分参数有单位,如
shared_buffers单位为8kB。 - 参数类型:包括
string、integer、enum等。 - 当前来源:如
override、configuration file。 - 启动值 和 将重置值:部分参数有变化,如
shared_buffers从1024变为655360。 - 需要重启:部分参数需要重启数据库才能生效,如
shared_buffers。 - 逻辑组:如
Locale and Formatting、Memory等。

后面还有更详细的信息,如数据类型字段统计,用户对象种类统计,集群状态,日志文件分析, 数据库性能分析,数据库空间使用分析,数据库性能分析等,在此就不一一列举了。通过这些信息,可以全面了解数据库的运行状态、配置情况以及潜在问题,并根据建议进行优化和调整。;
2.report_linux.html
报告开始部分是对kingbase集群运行环境系统简介;
基本信息
-
主机名:
sydbdevip146116 -
操作系统:Kylin Linux Advanced Server V10 (Sword)
-
内核版本:
4.19.90-25.21.v2101.ky10.x86_64 -
系统运行时间:自 2024 年 11 月 27 日起运行,已运行约 38 天 18 小时 26 分钟。
-
系统负载:
0.69, 0.16, 0.05,表示当前系统负载较低。 -
内存使用率:15.54%,剩余内存充足。
-
登录用户数:2 个用户登录。
硬件信息
- CPU:
- 架构:
x86_64 - 模式:支持 32 位和 64 位操作
- 字节顺序:小端(Little Endian)
- CPU 核心数:4 核,每个核心 1 线程,共 4 个物理核心。
- 主频:2.095 GHz
- 缓存:L1 数据缓存 128 KiB,L1 指令缓存 128 KiB,L2 缓存 16 MiB,L3 缓存 64 MiB。
- 虚拟化技术:KVM,支持全虚拟化。
- 架构:
- 内存:
- 总内存:4753100 kB(约 4.6 GB)
- 空闲内存:685232 kB(约 670 MB)
- 缓存内存:3268144 kB(约 3.2 GB)
- 交换空间:总 20970492 kB(约 20 GB),已使用 3521000 kB(约 3.4 GB)。

内核信息

硬件设备信息

以上报告包括了系统的全面系统信息,包括硬件配置、网络设置、系统参数、运行状态、服务状态和日志信息,系统运行状态,磁盘 I/O 状态,核心文件收集,Cron 作业调度器,多路径拓扑信息。整体来看,系统运行状态良好,但内存使用率较高,建议进一步监控和优化。




