TiHC Alpha 1.0 版本试用简介, 欢迎来玩!
#
一、作者声明
TiHC 为 TiDB 爱好者开发工具,属于个人行为与 PingCAP 官方无关,请谨慎使用;
TiHC 现阶段作者定义为 Alpha 版本,因此存在诸多 BUG 与不完善,生产环境请谨慎使用,如导致任何损失与作者无关;
TiHC 的发版将在 Github 完成,鉴于国内用户可能由于 “科学上网” 原因无法登录 Github,作者还会同步在 Gitee 更新代码;
本篇文章的目的是希望 TiDB 爱好者初步体验 TiHC ,作者认为一个好用、有价值的工具软件不应该限于作者的个人脑补,而应切合真实的使用场景。因此,希望得到各位爱好者的宝贵意见并对 TiHC 不断加以改进。
鉴于声明 4 ,如果大家反馈 TiHC 没有使用价值,作者会果断终止丰富该工具的行为,欢迎文章留言。
二、TiHC 是什么
TiHC (TiDB Healthy Check) 是一个开源的、基于 rust 构建的 TiDB 巡检工具,目的是为缩短巡检时间,提高交付效率。与传统 Oracle、MySQL 等巡检工具使用 SQL 采集对应内存表、操作系统指标,最终生成 Html 巡检报告不同。因为 TiDB 排查问题的方法论基于 Grafana 监控指标构建,tihc 借鉴 TiDB 官方工具 tiup 分发 ssh 的原理,分布式采集各节点信息并整合 grafana 监控,最终生成可交付的巡检 Office Doc 文件。
TiHC 的作用 :
1. 对于 TiDB DBA 角色,节约 TiDB 巡检过程中大量可模版化工作;
2. 对于 Others DBA 角色,提供一套针对 TIDB 健康检查的简单方法;
Tips : TiHC 不期望探究所有性能细节,仅关注 TiDB 读写请求流中较为常见、重要的组件监控进行采集与分析。详细的根因分析还是需 Grafana 各组件配合分析、定论。
TiHC 价值何在 :
3. 对 TiDB 巡检而言,据作者所知还处于一个依据 DBA 经验巡检阶段,即:不同 DBA 对 TIDB 的认识不同,巡检时侧重点也不同。这将会导致交付报告的给规范化,而 Oracle 由于强大的应用生态,很多爱好者写出来的巡检报告模版(Html)可以对其他 DBA 起到启发、规范作用,这也是 TiHC 期望做到的。 4. 另外,很多 “甲方爸爸” 其实根本不在意巡检报告的细节,只在意结论如何,TiHC 可以让你 1min 交差(前提是巡检下来,数据库真的没有潜在问题)。哈哈哈,点 4 就当做玩笑吧,其中真意需要读者自己领会😂
三、TiHC 的特性
采集 grafana 监控面板
调用 grafana-image-render 插件,获取指定时间段内的监控信息。
生成 Docx 巡检文档
TiHC 将收集的统计数据排版、生成 Office Word 文档模版,仅需少量修改便可直接交付客户。
轻量化巡检采集操作
TiHC 只需初次巡检时,配置 Grafana-image-render。此后,仅需要可执行文件便可完成全部巡检。
四、文档与快速上手
4.1 TiHC 文档
TiHC 遵循 terminal cli 使用风格,可 –help 或 -h 简单查看使用方法。
针对安装部署、使用过程中遇到的诸多,非软件 BUG 问题作者创建了 Github Project Wiki FAQ,更多细节相见 TiHC Wiki。
4.2 快速上手
4.2.1 本地安装
首先,使用 TiHC 之前需要选择一个已经部署好 TiDB 的集群作为巡检目标; 其次,使用 TiHC 前需要在 TiDB 中控机的 tidb 用户下 ,执行脚本为 Grafana 配置插件 grafana-image-render,TiHC 作者准备了 deploy_grafana_image_render.sh
部署脚本。该脚本有两种部署模式 online
和 offline
两种; 下面仅展示 online 下载方式部署 grafana-image-render,至于 offline 方式请参考 Wiki 描述,部署过程中遇到的问题请参考 Wiki FAQ。
最后,部署成功屏幕输出 [Log ] --> grafana-image-renderer has been downloaded and configed successfully!
,如下:
3.2 执行采集
使用一下命令执行巡检,详情见 TiHC Wiki Quick Start 部分。
当巡检命令发出后 terminal 输出如下,并且会在 tihc 可执行文件目录下找到的名为 tidb_check.docx
的文件。
最后,将 tidb_check.docx 文件从 tidb 中控机上取下打开,可双击查看生成的巡检文档。概览如下:
3.3 使用串讲
最后,附上 3 张操作全流程图, 帮助大家串联上面的步骤拆解:
五、TiHC 源码编译
在本地安装 Rust 环境下,访问 tihc repo 直接获取源码至本地。使用 make 命令便可编译二进制文件。
六、代码贡献与意见收集
作者作为 rust 的初学者,期待与大家一起构建 TiHC 工具,如有兴趣者可以直接提交 PR;
TiHC 现在代码中缺少很多注释,作者会陆续将其补充完整,更好让感兴趣者参与其中;
针对使用过程中遇到的任何问题,大家均可通过 Issue 提问交流(主),或者本文下方留言(辅);
TiHC 虽然简单将各模块抽离,模仿流水线设计模式构建,但因急于实现功能且代码实战应验少导致功能过于耦合,未来可能大幅度重构,欢迎来喷😂。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/ecdec7d64088ecf57e99d3abe】。文章转载请联系作者。
评论