Prometheus HA详解

以下所有操作都是在k8s集群中完成,如果你是VM或者物理机在配置方面不会有太大区别;

Prometheus 横向扩展

Exporter或者采集信息需要越来越多时就会考虑高可用,高可用优点不会因为集群中某个节点down而导致Prometheus不可用,可以让算力下沉;
缺点是A-PrometheusB-Prometheus这两个实例会定时去scrape数据,并且存储在各本地,这样导致数据会存储两份;

clipboard.png

  • 高可用配置

Prometheus启动两个实例,配置一样只需要暴露的service的端口不同,'Nginx Controller'配置session-affinityservice名称;

Prometheus 联邦

在多个数据中心部署Prometheus需要将多数据中心数据合在一起管理,使用联邦模式非常合适,如果担心数据单点,可以在联邦的基础上再扩展高可用;
优点集中式管理数据,报警,不需要为每个Prometheus实例管理数据,如有些敏感节点报警要求高可以在Prometheus数据节点上加报警信息,可以按功能环境划分启动多个Prometheus采集实例;
缺点数据集中化,网络可能会延时,数据单点等问题;

clipboard.png

终级解决方案

Prometheus 是支持远程读写TSDB数据库,请看官方网站支持哪些数据库的读写,因为有些数据只支持写而不支持读,你内网搭建TSDB集群,你所有启动的Prometheus实例都把数据写入到远程数据库,再使用高可用方案支持查询,只支持远程读,这样就可无限扩展采集实例和查询实例,非常的爽,作者没有实践过只是YY中;

  • 采集的Metrics远程写入TSDB

clipboard.png

  • Prometheus远程读TSDB

clipboard.png

文章会持续更新,文章中有不好之处欢迎留言

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐