TiDB | 真香的TiCheck新功能,有什么魔力?


TiDB
神州数码云基地
在 TiDB 上的尝试、调研与分享
本期作者
漆锐
TiDB 数据库工程师
熟悉 DevOps
自TiDB Hackathon 2021已过去很久,可能很多小伙伴已经印象不深了,在此可以回顾一下 :TiCheck在TiDB的“马拉松”之旅
这次,我们带来的是TiCheck alpha v1.0,多了一些好玩儿、有意思的功能,欢迎各位感兴趣的小伙伴上手试玩。你可能会碰到BUG~不要犹豫,请直接提砸向我们~!
Tips:目前开发主要是集中在dev分支,master分支是参加Hackathon 2021的代码分支。
#1 什么是TiCheck
TiCheck是一个开源、共享的TiDB自动巡检平台,目的是缩短各位TiDB DBA们每日巡检的时间,构建一个便捷的巡检脚本平台。
与其余TiDB巡检工具相比,TiCheck不是从Grafana监控采集的图表数据,来生成最终的巡检报告,更多的是通过自定义的脚本与阈值,来判断集群的状态。
在TiCheck中,巡检的每个指标都是一个脚本。通过脚本,你可以将Dashboard, Prometheus 、SQL 语句的结果统一输出到巡检指标中,再也不用开多个平台去查看集群状态。
至于巡检脚本,各位DBA可以自定义,也可以从远程脚本仓库下载。同时,也能把自己的巡检脚本贡献到远程脚本仓库。
TiCheck每一次巡检的结果都会被保存。用户可以直观地看到一段时间内数据库集群的历史巡检结果,以及数据库在某一段时间内的状态。当需要知道数据库历史状态时,便无需再对比各种历史监控页面了!
Tips:微信公众号后台回复:TiCheck,可获取 TiCheck 的 GitHub 地址~
#2 TiCheck新功能
Part1 :多集群管理
我相信,很多人手上都有着不止一套TiDB集群。光一套TiDB集群的日常巡检任务,就有点繁琐了,更别说有的小伙伴能者多劳,压了十几套TiDB集群在身上。每天一个个集群的巡检过去,然后再加班写报告。
忙吗?那的确是挺忙的。
所以,为了方便大家造福DBA们,我们在Hackathon后加了多集群管理的功能,解放DBA每天繁复的日常巡检任务,让DBA们的时间能够更充分地利用起来!
Part2:自定义巡检指标&执行巡检
如前面所提到的,在TiCheck中,巡检中的每一个指标都是一个自定义脚本,用户可以自定义巡检指标的阈值,以符合自己预期的结果。
同时,可以随心所欲地设置每次巡检的项目。对于重要指标,可以每天巡检;对于周期性出效果的指标,可以在每日巡检中将其关掉,到需要巡检这项指标的时候,再启用。这将极大减少每日巡检的复杂程度,成为有目的性,针对性的巡检。
Part3:巡检详情&报告下 载
TiCheck会将每一次巡检结果存储起来,并且在前端以可视化表格、柱状图的样式进行展示,方便运维人员在执行巡检任务之后,查看巡检指标状态,历史巡检记录等。
这能很直观得了解到最近一周、一个月、一年出现的较多的异常指标等等。也能从历史中出现异常较多的巡检指标中,找出数据库所存在的问题。
同时,用户在巡检完成后,还能一键将巡检结果下载到本地,以便随时分享数据结果~
Part4:巡检脚本仓库
用TiCheck久了,可能会积累很多巡检脚本,有些是自己独有原创的,而有些其实别人已经写过了,这就会出现各种重复造轮子的事情。
在当下,拥抱开源,一起共享。大家可以将自己的巡检脚本上传到远程脚本仓库,也可以从脚本仓库下载人写好的脚本。
我们会逐步完善脚本仓库中各种巡检脚本,同时,也期望各位使用TiCheck的小伙伴们,分享出自己日常所用到的脚本~
Part5:定时巡检
此次,我们还加上了定时巡检任务的功能,彻底解放各位DBA们,突出一个自动化。
定时任务的规则是遵循crontab,由各位DBA自己去设置。后面,TiCheck还会将日定时巡检任务对接到各种告警系,再也不用担心出了问题不能及时响应了!
#3 便捷式代码
Use Docker
Local insta ll
#4 我们的TiCheck
目前的TiCheck还是个叛逆期的青少年,但我们希望把他塑造成大家最想要的样子~
在未来,我们想做到:
1、及时获取异常指标
定时巡检完成之后,对接到告警系统,将相应异常指标输出到告警系统之中;或将报告通过短信、钉钉、企微、邮件等方式发送给相关运维人员,避免每天都要去机房蹲点。
2、自动定位问题集群
加入深度分析、根因分析等,提前发掘集群可能存在的问题。比如通过巡检指标异常的时候,能够快速定位到集群问题的根本原因,方便运维人员的维护,避免长时间的集群排查。
3、优化已有代码
可能会加重对代码的重构,欢迎伙伴们指正已有代码中的不合理位置!

