prometheus怎么优化读取速度?

现象描述:监控作为运维不可缺少的技能,prometheus作为监控主流之一,把监控数据存储在本地磁盘中。但数据量大了之后,磁盘读取数据速度明显变慢,甚至出现长时间加载不出数据导致prometheus进程奔溃自杀的情况。问题:请问prometheus数据存储方式能不能通过数据库来读写?或者怎么优...显示全部

现象描述:监控作为运维不可缺少的技能,prometheus作为监控主流之一,把监控数据存储在本地磁盘中。但数据量大了之后,磁盘读取数据速度明显变慢,甚至出现长时间加载不出数据导致prometheus进程奔溃自杀的情况。
问题:请问prometheus数据存储方式能不能通过数据库来读写?或者怎么优化读取效率?

收起
参与4

返回顾黄亮的回答

顾黄亮顾黄亮课题专家组技术总监畅销书作者

首先,这个是使用 Prometheus过程中遇到的一个问题,Prometheus 本身只支持单机部署,没有自带支持集群部署,也就不支持高可用以及水平扩容,在大规模场景下,最让人关心的问题是它的存储空间也受限于单机磁盘容量。磁盘容量决定了单个 Prometheus 所能存储的数据量,数据量大小又取决于被采集服务的指标数量、服务数量、采集速率以及数据过期时间 。在数据量大的情况下,我们可能就需要做很多取舍,比如丢弃不重要的指标、降低采集速率、设置较短的数据过期时间。
那解决这个问题如何做,我提供一个比较讨巧的思路,不从技术和架构出发,从监控的服务维度出发,如何理解?其实很简单,就是通过服务维度进行拆分,比如说,ABC三个业务集群, A的数据存放Prometheus-A,B的数据存放Prometheus-B, C的数据存放Prometheus-C。 通常这样的扩容方式已经能满足大部分场景的需求了,毕竟单机 Prometheus 就能采集和处理很多数据了,很少有 Prometheus 撑不住单个服务的场景。
如果从技术的层面,就要考虑对超大规模的服务做分片。

银行 · 2022-05-04
浏览948
study_ops 邀答

回答者

顾黄亮
技术总监畅销书作者
擅长领域: 云计算数据库系统运维

顾黄亮 最近回答过的问题

回答状态

  • 发布时间:2022-05-04
  • 关注会员:2 人
  • 回答浏览:948
  • X社区推广