写点什么

09 Prometheus 之可靠性及可扩展性

  • 2022 年 1 月 09 日
  • 本文字数:664 字

    阅读完需:约 2 分钟

09 Prometheus之可靠性及可扩展性

Prometheus 推荐的容错解决方案是并行运行两个配置相同的 Prometheus 服务器,并且这两个服务器同时处于活动状态。该配置生成的重复警报可以交由上游 Alertmanager 使用其分组(及抑制)功能进行处理。一个推荐的方法是尽可能使上游 Alertmanager 高度容错,而不是关注 Prometheus 服务器的容错能力

Alertmanager 包含由 HashiCorp Memberlist 库提供的集群功能。Memberlist 是一个 Go 语言库,使用基于 gossip 的协议来管理集群成员和成员故障检测,其也是 SWIM 协议的扩展。要配置集群首先需要在多个主机上安装 Alertmanager。


考虑到弹性,必须为 Prometheus 服务器标识所有的 Alertmanager。这样,如果集群中的某个 Alertmanager 发生故障,Prometheus 便可以找到另一个来发送警报。Alertmanager 集群本身负责与集群的其他活动成员共享所有收到的警报,并处理数据去重(如果需要的话)。因此,不应该为 Alertmanager 设置负载平衡,因为 Prometheus 会帮你处理


Prometheus 环境扩展通常有两种形式:功能扩展或水平扩展

功能扩展使用分片将监控内容分布到不同的 Prometheus 服务器上。可以通过特定功能,将所有基础设施监控发送到一台服务器,而将所有应用程序监控发送到另一台服务器。


Prometheus 支持两种类型的远程存储集成:

可以将指标样本写入远程目标

可以从远程目标读取指标样本

远程存储协议[插图]使用基于 HTTP 的 Snappy 压缩协议缓冲编码,在 Prometheus 中通过 remote_write 块remote_read 块进行配置。


有一小部分第三方工具旨在简化 Prometheus 扩展,它们包括:

Cortex:可扩展的 Prometheus 即服务工具。

Thanos:具有长期存储能力的高可用 Prometheus 设置。


发布于: 刚刚阅读数: 3
用户头像

InfoQ签约作者 2018.11.30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
09 Prometheus之可靠性及可扩展性