Thanos(一)——大规模Prometheus解决方案

Prometheus

我们首先简单介绍下prometheus。

Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有一个非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,可以独立于任何公司进行维护。为了强调这一点,并澄清项目的治理结构,Prometheus于2016年加入CNCF,作为继Kubernetes之后的第二个托管项目。(内容来自https://prometheus.io/docs/introduction/overview/

Prometheus能够实时跟踪数百万个监控指标,并附带提供了一套强大的查询语言,用户可以通过它从这些指标里提取有用信息。Prometheus简单可靠的运维模型是其主打卖点之一。

组件

Prometheus提供多个功能组件(可选):

  • Prometheus服务器:用于存储时间序列数据
  • 用于检测应用程序代码的客户端库
  • push gateway:用于支持短期工作的推送网关
  • 针对HAProxy,StatsD,Graphite等服务的专用出口商
  • 一个alertmanager处理警报
  • 各种支持工具

架构图

 

 

(图片来源https://prometheus.io/docs/introduction/overview/

事实上,如果你仅仅需要用它来做监控的话,只需要部署Prometheus服务器和以及对应监控组件的exporter(采集组件数据,我们称之为exporter,可理解为采集器)即可。我们就是这样做的。

Prometheus相比于其他传统的监控运维更加方便,可靠。同时提供了对Kubernetes,Docker的良好支持,当然,prometheus还有很多其他好处,比如与Grafana结合提供强大的图形展示,以及灵活的查询语句等,在此不再详细展开。

随着不断的使用,在一定的规模下。我们发现prometheus存在一些缺点。单台的prometheus存在单点故障的风险,随着监控规模的扩大,prometheus产生的数据量会非常大,性能和存储都会面临问题

毋庸置疑,我们需要一套高可用的Prometheus集群。

Prometheus官方提供了联邦,和远程读写(Remote read 和Remote write)来尝试解决这些问题,不过这又会带来繁琐的配置,网络延迟,以及使用联邦时依然需要考虑单点,高可用的问题,对我们使用会造成很大的成本和维护问题。

好了,该Thanos出场了,Thanos便是为了解决这些问题而存在的。在需要大规模部署Prometheus时提供了一种解决方案

thanos的github地址:https://github.com/improbable-eng/thanos

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值