Skip to content

About

SequoiaDB自动化巡检工具

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

140 Commits

Folders and files

Repository files navigation

sdbinspector

sdbinspector 是用于 SequoiaDB 巡检的工具,支持 sequoiadb 存储集群及 MySQL 实例组的自动化巡检。

配置

该工具需要配置待巡检集群的连接地址、用户名密码等信息,配置文件位于 conf/settings.conf。其中在注释中以 '*' 标识的为关键配置,需要根据实际环境进行配置,其它的配置项通常保持默认值即可。需要修改的配置项包括:

  1. [collect-global] 中:
    • username: 待巡检的 sequoiadb 存储集群的用户名
    • password: 待巡检的 sequoiadb 存储集群的密码。在工具运行后,文件中的该密码会被自动加密
    • cluster_name: 待巡检的集群的名称,如影像平台,历史数据查询平台等,如果要巡检多个集群,每次应将其修改为一个唯一的名字
  2. [collect-coord] 中:
    • url:用于连接以进行巡检的协调节点的地址,如果使用本机的协调节点则不用修改
  3. [collect-cata]
    • url:用于连接以进行巡检的编目节点的地址,如果使用本机的编目节点则不用修改
  4. [collect-mysql]中的 username 及 password,如果是实例组则不需要填写

注意

  1. 如果本工具不在 SequoiaDB 节点所在的主机上,且集群部署中采用的是主机名而不是 IP 地址,则需要保证本机包含集群中所有主机的主机名及 IP 映射。
  2. 工具需要通过与 sdb 集群各主机上的 sdbcm 进程交互以获取资源情况等,因此需要确保 sdbcm 进程均正常运行,否则大量的数据无法获取,会导致巡检失败。
  3. 同一天内多次执行完整巡检(run / collect,采集范围为 all)时,工具会在采集前自动清除本集群当天已采集数据(保留更早日期;loop/按 type·item 局部采集不会触发该清理),并以本次启动时统一生成的日期作为分析日期,无需再手动执行 clean。若需清空全部历史数据,仍可执行 bin/sdbinspector clean。
  4. 如机器上之前存在旧版本的巡检工具,请注意新版本不要跟旧版本解压在同一目录下,或者删除旧版本的目录后再解压。
  5. 默认使用工具中内置 OpenJdk-8 作为 Java 环境,如需使用系统自带的 Java 环境,可以删除工具中的 java 目录,此时会自动使用系统内的 java 命令。
  6. 可通过 conf/inspect-threshold.yaml 自定义巡检项的检查阈值,如结果不满足配置值,则会在报告中标记为异常项。

运行

  1. 查看帮助
bin/sdbinspector -h

显示内容如下:

Usage: sdbinspector [OPTIONS] COMMAND [ARGS]...

Options:
  -h, --help       Show this help message and exit
  -v, --version    Show the version and exit

Commands:
  run              Collect data and generate report
  collect          Collect data, and save in sqlite
  analyze          Analyze data
  report           Generate report
  clean            Clean collected data

Run 'sdbinspector COMMAND --help' for more information on a command.

按提示可查看每个子命令的帮助

  1. 运行

在完成配置后,直接使用 run 子命令完成全部巡检任务,包括数据收集、分析与报告生成。

bin/sdbinspector run

命令执行成功后,会在输出目录(默认为根目录下的 output 目录)下生成一个 word 格式的报告。 word 报告是用于最终提交给客户的标准报告。

  1. 巡检原始报告及信息收集

在成功执行完巡检命令后,应将以下两个文件取回,用于分析确认报告内容:

  • word 格式报告
  • 巡检原始数据文件,路径为根目录下 sqlite/db/data.db

错误处理

  1. 诊断日志 当前数据采集、生成 word 报告为两个子工具,其对应的子目录分别为 collector,reporter,各工具的诊断日志在其子目录内的 log 目录下。

  2. 数据收集报错

数据收集阶段完成后,要在屏幕上打印以下格式的结果汇总,如果其中的巡检项结果是 [×],表示对应的巡检数据收集失败,建议根据错误信息及时处理,然后重新执行巡检工具,常见的错误包括用户名密码配置错误、主机或节点无法连接等。

=====================Collect Result=============================
[√] Item: sdb_mysql_columns, Records: 9294
[√] Item: sdb_mysql_tables, Records: 846
[×] Item: sdb_snap_session, Records: 288, Detail: SDB_NETWORK(-15): Network error, detail: failed to connect to m-x86-suse15-030908/192.168.31.16:11820
[√] Item: sdb_mysql_statistics, Records: 210
[×] Item: sdb_collections_snap, Records: 91, Detail: SDB_NETWORK(-15): Network error, detail: failed to connect to m-x86-suse15-030908/192.168.31.16:11820
......
===============================================================

查看巡检原始数据

巡检原始数据保存在根目录下 sqlite/db/data.db 中,可以使用巡检工具自带的 sqlite3_proxy 命令查看里面的数据内容,使用示例如下:

sqlite/sqlite3_proxy -c "select * from sdb_domains;"

About

SequoiaDB自动化巡检工具

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages