Prometheus高可用(5):Prometheus高可用方案策略
前面部分介绍了Prometheus的本地数据存储模型模型,本地存储给Prometheus带来了简单高效的使用体验,可以让Promthues在单节点的情况下满足大部分用户的监控需求。但是本地存储也同时限制了Prometheus的可扩展性,带来了数据持久化等一系列的问题。通过Prometheus的Remote Storage特性可以解决这一系列问题,包括Promthues的动态扩展,以及历史数据的存储。
而除了数据持久化问题以外,影响Promthues性能表现的另外一个重要因素就是数据采集任务量,以及单台Promthues能够处理的时间序列数。因此当监控规模大到Promthues单台无法有效处理的情况下,可以选择利用Promthues的联邦集群的特性,将Promthues的监控任务划分到不同的实例当中。
这一部分将重点讨论Prometheus的高可用架构,并且根据不同的使用场景介绍了一种常见的高可用方案。
Prometheus高可用(4):Alertmanager高可用
在前面的部分我们主要讨论了Prometheus Server自身的高可用问题。而接下来,重点将放在告警处理也就是Alertmanager部分。如下所示。
Prometheus高可用(3):联邦集群
单个Prometheus Server可以轻松的处理数以百万的时间序列。当然根据规模的不同的变化,Prometheus同样可以轻松的进行扩展。这部分将会介绍利用Prometheus的联邦集群特性,对Prometheus进行扩展。
Prometheus高可用(2):理解远端存储
Prometheus的本地存储设计可以减少其自身运维和管理的复杂度,同时能够满足大部分用户监控规模的需求。但是本地存储也意味着Prometheus无法持久化数据,无法存储大量历史数据,同时也无法灵活扩展。
为了保持Prometheus的简单性,Prometheus并没有尝试在自身中解决以上问题,而是通过定义两个标准接口(remote_write/remote_read),让用户可以基于这两个接口对接任意第三方的存储服务,这种方式在Promthues中成为Remote Storage。
使用Webhook扩展Alertmanager(钉钉版)
在某些情况下除了Alertmanager已经内置的集中告警通知方式以外,对于不同的用户和组织而言还需要一些自定义的告知方式支持。通过Alertmanager提供的webhook支持可以轻松实现这一类的扩展。除了用于支持额外的通知方式,webhook还可以与其他第三方系统集成实现运维自动化,或者弹性伸缩等。
监控什么?4个黄金指标/RED方法/USE方法
这里先思考一个基本的问题,在实现监控时,我们到底应该监控哪些对象以及哪些指标。本文会介绍会介绍一些通用的套路,包括Goole的”4个黄金指标”和此基础上演进出的”RED方法“,以及注重分析系统性能问题”USE方法”。
自定义Metrics:让Prometheus监控你的应用程序(Spring版)
本文将以Spring Boot/Spring Cloud为例,介绍如果使用Prometheus SDK实现自定义监控指标的定义以及暴露,并且会介绍Prometheus中四种不同指标类型(Counter, Gauge, Histogram, Summary)的实际使用场景;