扫码阅读
手机扫码阅读

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

273 2023-09-07

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

Tips:微信公众号后台回复:TiCheck,可获取 TiCheck 的 GitHub 地址~

#4 我们的TiCheck

目前的TiCheck还是个叛逆期的青少年,但我们希望把他塑造成大家最想要的样子~

在未来,我们想做到:

1、及时获取异常指标

定时巡检完成之后,对接到告警系统,将相应异常指标输出到告警系统之中;或将报告通过短信、钉钉、企微、邮件等方式发送给相关运维人员,避免每天都要去机房蹲点

2、自动定位问题集群

加入深度分析、根因分析等,提前发掘集群可能存在的问题。比如通过巡检指标异常的时候,能够快速定位到集群问题的根本原因,方便运维人员的维护,避免长时间的集群排查

3、优化已有代码

可能会加重对代码的重构,欢迎伙伴们指正已有代码中的不合理位置!

原文链接: http://mp.weixin.qq.com/s?__biz=Mzg5MzUyOTgwMQ==&mid=2247502152&idx=1&sn=246b03dccafa6c07ea25838bb3ad5dc8&chksm=c02ff2eef7587bf84045cea8485fdb6b4983ec726dafe162e84862a77aa388b8caf4030eb156#rd