暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

【金仓数据库征文】_一键巡检脚本gather.sh

原创 唯唯 2025-04-28
228

一键巡检工具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 天
  • 用户名称项目名称:均为“官网企业版”

图片.png

接下来是用户以及数据库插件信息

##### 用户数据库

  • 数据库名称esrephulikingbasesecuritytest
  • 管理员:均为 system
  • 编码规则:均为 UTF8
  • 编码区域编码分类:均为 zh_CN.UTF-8
  • 连接限制:均为 -1(无限制)
  • 表空间:均为 sys_default
数据库插件
  • 已安装插件:包括 src_restrictsysencryptplan_cache_testkdb_tinyint 等,共计 60 多个插件。
  • 插件版本:多数为 1.0 或 1.1,部分插件如 sys_rmansys_stat_statements 等版本较高。

图片.png

数据库参数信息
  • 配置参数名:如 DateStyledefault_text_search_configlc_collate 等。
  • 当前值:如 ISO, YMDpg_catalog.simplezh_CN.UTF-8 等。
  • 计量单位:部分参数有单位,如 shared_buffers 单位为 8kB
  • 参数类型:包括 stringintegerenum 等。
  • 当前来源:如 overrideconfiguration file
  • 启动值将重置值:部分参数有变化,如 shared_buffers1024 变为 655360
  • 需要重启:部分参数需要重启数据库才能生效,如 shared_buffers
  • 逻辑组:如 Locale and FormattingMemory 等。

图片.png

后面还有更详细的信息,如数据类型字段统计,用户对象种类统计,集群状态,日志文件分析, 数据库性能分析,数据库空间使用分析,数据库性能分析等,在此就不一一列举了。通过这些信息,可以全面了解数据库的运行状态、配置情况以及潜在问题,并根据建议进行优化和调整。;

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)。

图片.png

内核信息

图片.png

硬件设备信息

图片.png

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

最后修改时间:2025-05-28 11:03:30
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论