写点什么

Let's go, TiCheck!

  • 2022 年 7 月 11 日
  • 本文字数:2235 字

    阅读完需:约 7 分钟

作者: CuteRay 原文来源:https://tidb.net/blog/7a6ee1a4

前言

自 TiDB Hackathon 2021 已过去 100 多天了,可能很多小伙伴已经将我们遗忘了,没关系,可以重新回顾一下:专栏 - 回顾下 Hackathon 中的 TiCheck | TiDB 社区


这次,我们带来的是 TiCheck alpha v1.0,多了一些好玩儿、有意思的功能,欢迎各位感兴趣的小伙伴上手试玩,你可能会碰到 BUG,不要害怕,直接提出来,提 issue 亦或者私信轻喷,当然也可以提出你们宝贵的意见,红豆泥阿里嘎多。


DigitalChinaOpenSource/TiCheck: TiDB automated checklist for hackathon 2021. (github.com)


Tips:目前开发主要是集中在 dev 分支,master 分支是参加 Hackathon 2021 的代码分支。

介绍

TiCheck 是一个开源、共享的 TiDB 自动巡检平台,目的是缩短各位 TiDB DBA 们每日巡检的时间,构建一个开源、共享的巡检脚本平台。与其余 TiDB 巡检工具相比,TiCheck 不是从 Grafana 监控采集的图表数据,来生成最终的巡检报告,更多的是通过自定义的脚本与阈值,来判断集群的状态。


在 TiCheck 中,巡检的每个指标都是一个脚本,通过脚本,你可以将 Dashboard, Prometheus 、SQL 语句的结果统一输出到巡检指标中,再也不用开多个平台去查看集群状态。至于巡检脚本,可以各位 DBA 自定义,也可以从远程脚本仓库下载,同时,也可以把自己的巡检脚本贡献到远程脚本仓库,而我们有个小愿望,就是与各位 DBA 共建一个脚本仓库。


在 TiCheck 中,每一次巡检的结果都会保存,用户可以非常方便的看到一段时间内数据库集群的历史巡检结果,可以很直观的看到数据库在某一段时间内的状态。此时,如面对领导们询问数据库历史状态,就再也不用去对比各种历史监控页面了,能够做到快速响应。

TiCheck 功能

  1. 多集群管理


我相信,很多小伙伴,手上有着不仅仅一套 TiDB 集群。光一套 TiDB 集群的日常巡检任务,就有点繁琐了,更别说有的大佬公司不差钱,搞了十几套 TiDB 集群,压在小伙伴一人身上,每天一个个集群的巡检过去,还要写报告,最后每天都在加班写报告。忙吗?那的确是挺忙的。所以,为了方便大家,造福同为 DBA 们,我们在 Hackathon 后加了多集群管理的功能,解放 DBA 每天繁复的日常巡检任务,让 DBA 们有更多的时间干更多的活(资本家听了都流泪)。



  1. 自定义巡检指标 & 执行巡检


如前面所提到的,在 TiCheck 中,巡检中的每一个指标都是一个自定义脚本,用户可以自定义巡检指标的阈值,以符合自己预期的结果。并且,可以随心所欲的设置每次巡检的项目,对于重要的指标,可以每天巡检,对于那些一段时间才能看到效果的指标,可以在每日巡检中将其关掉,到需要巡检这项指标的时候,再启用就 OK,极大的减少每日巡检的复杂程度,做到有目的性,针对性的巡检。




  1. 巡检详情 & 报告下载


TiCheck 会将每一次巡检结果存储起来,并且在前端以可视化表格、柱状图的样式进行展示,方便运维人员在执行巡检任务之后,查看巡检指标状态,包括历史巡检记录,能够很直观的了解到最近一周,一个月,一年出现较多的异常指标等,能够从历史中出现异常较多的巡检指标中,找出数据库所存在的问题。同时,用户还能将巡检结果下载到本地,一键巡检完成之后,可以将报告直接下载,能快速完成每日巡检的工作任务,同样能快速响应领导想要了解数据库当日状态的要求,只需要两步就能交差,十分的美妙。



  1. 巡检脚本仓库


用 TiCheck 久了,可能会积累很多巡检脚本,有些是自己独有原创的,而有些其实别人已经写过了,这样就会出现各种重复造轮子的事情。在当下,拥抱开源,一起共享,大家可以将自己的巡检脚本上传到远程脚本仓库,也可以从脚本仓库下载别人写好的脚本。而我们会逐步完善脚本仓库中各种巡检脚本,同时,也期望各位使用 TiCheck 的小伙伴们,分享出自己日常所用到的脚本。




  1. 定时巡检


此次,我们还加上了定时巡检任务的功能,彻底解放各位 DBA 们,突出一个自动化。定时任务的规则是遵循 crontab,由各位 DBA 自己去设置。后面,TiCheck 还会将每日定时巡检任务对接到各种告警系统,再也不用担心出了问题不能及时响应了。


快速上手

Use Docker

# clone repogit clone -b dev https://github.com/DigitalChinaOpenSource/TiCheck.gitcd TiCheck
# use docker to build imagedocker build -t ticheck:latest .
# use docker to run this image cker run --name ticheck -p 8066:8066 -d ticheck:latest
# and you can access ticheck through port 8066
复制代码

Local install

# clone repogit clone -b dev https://github.com/DigitalChinaOpenSource/TiCheck.gitcd TiCheck 
# install ticheckmake install
复制代码

展望

TiCheck 目前还有些许小 bug,未来我们会一一修复,也会根据大家的反馈,做些许更改。未来我们想做的功能:


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

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

  3. 更多有意思、有用的功能想法,可以随时提出来。4.

最后

  1. 期待与社区小伙伴一起来完善 TiCheck,如有兴趣,欢迎来提交 pr;

  2. 在使用过程中,如遇到任何不满问题,或是说希望得到改进的地方,抑或是期待新的功能,欢迎提交 issue 或者私信给我留言;

  3. TiCheck 作品还不是特别的成熟完善,未来呢,也可能会对代码重构,如看到代码中任何不合理的位置,欢迎来指正!


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
Let's go, TiCheck!_监控_TiDB 社区干货传送门_InfoQ写作社区