概述
继上一篇 Thanos 部署与实践 发布半年多之后,随着技术的发展,本系列又迎来了一次更新。本文将介绍如何结合 Kvass 与 Thanos,来更好的实现大规模容器集群场景下的监控。
有 Thanos 不够吗 ?
有同学可能会问,Thanos 不就是为了解决 Prometheus 的分布式问题么,有了 Thanos 不就可以实现大规模的 Prometheus 监控了吗?为什么还需要个 Kvass?
Thanos 解决了 Prometheus 的分布式存储与查询的问题,但没有解决 Prometheus 分布式采集的问题,如果采集的任务和数据过多,还是会使 Prometheus 达到的瓶颈,不过对于这个问题,我们在系列的第一篇 大规模场景下 Prometheus 的优化手段 中就讲了一些优化方法:
- 从服务维度拆分采集任务到不同 Prometheus 实例。
- 使用 Prometheus 自带的 hashmod 对采集任务做分片。
但是,这些优化方法还是存在一些缺点:
- 配置繁琐,每个 Prometheus 实例的采集配置都需要单独配。
- 需要提前对数据规模做预估才好配置。
- 不同 Prometheus 实例采集任务不同,负载很可能不太均衡,控制不好的话仍然可能存在部分实例负载过高的可能。
- 如需对 Prometheus 进行扩缩容,需要手动