使用 TiFlash 构建一个高效率、高可用的监控系统,替换 prometheus。
Prometheus 是当前最热门的监控系统,已经成为了监控系统的事实标准。但随着现代系统的数据规模、节点数量、监控指标数量不断增长,单机的 Prometheus 逐渐难以满足写入效率与高可用的需求,而暂时没有成熟易用的 Prometheus 集群方案。
TiDB 作为当前知名的分布式数据库,具有一键水平扩缩容、金融级高可用、实时 HTAP 等关键特性。借此、我们可以使用 TiDB 的列存组件 TiFlash 去高效地完成监控指标的存储与聚合计算,以此构建一个高效率、高可用、易用性强、可以水平扩容的监控系统。
主要分为写入、存储、读取三个模块:
- 写入模块:兼容 prometheus 的协议,从应用系统的 metrics 接口中拉取数据。
- 存储:将时序数据的存储转换为关系型数据,建立监控指标的索引,存储于 TiFlash 中。
- 读取:兼容 prometheus 协议,将 promql 转化为对应的 sql 并进行查询,并返回与 prometheus 兼容的数据格式。