共计 733 个字符,预计需要花费 2 分钟才能阅读完成。
Prometheus 联邦及高可用详解
以下所有操作都是在 k8s 集群中完成,如果你是 VM 或者物理机在配置方面不会有太大区别;
Prometheus 高可用
当 Exporter 或者采集信息需要越来越多时就会考虑高可用,高可用优点不会因为集群中某个节点 down 而导致 Prometheus 不可用, 可以让算力下沉; 缺点是 A -Prometheus 和 B -Prometheus 这两个实例会定时去 scrape 数据,并且存储在各本地,这样导致数据会存储两份;
高可用配置
将 Prometheus 启动两个实例,配置一样只需要暴露的 service 的端口不同,’Nginx Controller’ 配置 session-affinity 的 service 名称;
Prometheus 联邦
在多个数据中心部署 Prometheus 需要将多数据中心数据合在一起管理,使用联邦模式非常合适,如果担心数据单点,可以在联邦的基础上再扩展高可用; 优点集中式管理数据, 报警,不需要为每个 Prometheus 实例管理数据,如有些敏感节点报警要求高可以在 Prometheus 数据节点上加报警信息, 可以按功能环境划分启动多个 Prometheus 采集实例; 缺点数据集中化,网络可能会延时,数据单点等问题;
终级解决方案
Prometheus 是支持远程读写 TSDB 数据库,请看官方网站支持哪些数据库的读写,因为有些数据只支持写而不支持读,你内网搭建 TSDB 集群,你所有启动的 Prometheus 实例都把数据写入到远程数据库,再使用高可用方案支持查询,只支持远程读,这样就可无限扩展采集实例和查询实例,非常的爽,作者没有实践过只是 YY 中;
采集的 Metrics 远程写入 TSDB
Prometheus 远程读 TSDB
文章会持续更新,文章中有不好之处欢迎留言