本期作者:
数据库工程师 刘昊
最近在扒官方文档的时候,发现只有扩缩容tikv/pd/tidb/tiflash/ticdc的步骤,并没有讲扩缩容Prometheus/alertmanger/grafana的操作步骤。
就想到凭借自己的经验写一篇文章出来,供大家参考~
内容难免会有疏漏或错误的地方,还望大家多多赐教!
一、关于是否保留监控数据?
缩容监控节点,会涉及到一个问题:是否保留监控数据。
至于监控数据存放位置、怎么保留这部分内容我先单独拿出来讲讲,以防后续在看具体操作步骤的时候会有很凌乱的感觉!
1.1 监控数据存放位置查看方法
数据存放位置(因为我集群是默认部署,所以存放位置也是默认位置。如果自定义部署目录的话,数据存放位置也会变,不同的集群会有很大的区别,所以这里主要是讲方法):
1、查看Prometheus部署路径:
2、进入Prometheus部署目录,可以看到一个scripts目录,存放了Prometheus启动脚本:
3、查看脚本,可以看到其中有–storage.tsdb.path这一项,对应的目录就是监控数据存放地址:
还有另一种方法:在进程中查看监控历史数据存放位置
对应目录为监控历史数据存放位置。
1.2 备份历史数据
1、进入该目录(这一步也是决定缩容监控节点后历史监控数据是否保留的操作),备份历史监控数据:
2、因历史数据量较大(默认保留30天的历史数据:–storage.tsdb.retention=“30d”,因为我的测试集群新搭建不久,也没什么数据量,所以数据并不是很多),所以进行压缩:
3、将压缩文件拷贝到备份目录,至此完成Prometheus历史数据备份:
上边完成了Prometheus历史数据存放位置及备份的讲解,接下来就该进入正题:缩容监控节点操作。
二、缩容监控节点
2.1 确认节点
查看集群现有节点,确认需要缩容节点(自己部署用于测试的小集群,受限于硬件资源,只能单节点部署):
2.3 确认节点信息
172.21.0.8:9093、172.21.0.8:3000、172.21.0.8:9090三个节点
2.4 缩容前备份数据
(参考文章开头的操作步骤)(如无需保留历史数据,则忽略这一步操作)
2.5 执行缩容操作
2.6 确认缩容符合预期
查看缩容后集群节点信息,尝试访问grafana,并确认是否符合预期:
可以看到集群中现在只有tidb、tikv、pd节点,监控节点已经缩容掉。
尝试访问grafana:
可以看到grafana已经无法访问,至此缩容操作完成!
至于扩容集群监控节点,与其他扩容操作步骤类似,区别就在于多了导入监控数据这一步。
三、扩容集群监控节点
3.1 编辑扩容文件
3.2 执行扩容命令
3.3 查看集群扩容后节点信息
监控节点已扩容完成
尝试访问grafana
grafana已经能够访问,但是只有集群监控节点扩容完成后的监控数据,并没有历史监控数据。
这时候就需要我们文章开头备份的集群历史监控数据了。
3.4 导入备份好的历史数据至新集群中
因为我们只需要集群的历史数据,所以将备份中历史数据文件导入新集群的监控数据存放目录即可。
1、将备份历史数据解压缩:
2、将数据文件拷贝到新集群的监控数据存放目录:
3.5 在新集群中加载导入的数据
reload集群,使新集群加载导入的历史数据文件。
3.6 检查文件导入是否生效
尝试访问grafana监控,时间选择7day,检验历史数据文件导入是否生效。
历史数据导入成功,至此扩容集群监控节点及历史数据导入完成!
回顾整个缩容过程,最容易出现问题的步骤就是:不会考虑到保留历史数据。
这一步其实是很重要重要的。比如说集群需要调整new_collations_enabled_on_first_bootstrap这个参数,只能考虑重新部署集群(version<=6.0)。
这时就需要在销毁集群前,将历史监控数据备份,集群重新部署完成后,将历史监控数据再恢复。
如果没有备份历史监控数据,可能就会有问题。
就备份历史数据而言,操作起来其实很容易,只需将数据备份,导入到监控数据存放目录,然后reload即可。
以上就是缩容监控节点及历史监控数据备份恢复的操作步骤,希望对大家有所帮助~
我们致力于用数字技术重构企业价值,助力企业实现数字化转型升级!
公众号 搜索【神州数码云基地】,后台回复TiDB,加入TiDB技术交流群!
知乎 搜索【神州数码云基地】,收看更多TiDB相关回答与文章!