Prometheus 详解

Prometheus 章节

1、Prometheus 简介

2、Prometheus 安装与配置

3、Pushgateway

4、本地存储和远程存储

5、高可用方案

6、Prometheus 编写自己的 exporter

7、报警插件Alertmanager 安装与使用

8、记录规则(recording rules)与告警规则(alerting rule)

Prometheus 简介

Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何公司进行维护。为了强调这一点并阐明项目的治理结构,Prometheus 于2016年加入了 Cloud Native Computing Foundation,这是继Kubernetes之后的第二个托管项目。
 
特征
Prometheus的主要特点是:
一个多维数据模型,其中包含通过度量标准名称和键/值对标识的时间序列数据
PromQL,一种灵活的查询语言 ,可利用此维度
不依赖分布式存储;单服务器节点是自治的
时间序列收集通过HTTP上的拉模型进行
通过中间网关支持推送时间序列
通过服务发现或静态配置发现目标
多种图形和仪表板支持模式
 
组件
Prometheus生态系统包含多个组件,其中许多是可选的:
Prometheus主服务器,它会刮取并存储时间序列数据
客户端库,用于检测应用程序代码
一个支持短期工作的推送网关
诸如HAProxy,StatsD,Graphite等服务的专用出口商
一个alertmanager处理警报
各种支持工具
大多数Prometheus组件都是用Go编写的,因此易于构建和部署为静态二进制文件。 
 
下图说明了Prometheus的体系结构及其某些生态系统组件:
 
从上图可以看出,Prometheus 的主要模块包括:Prometheus server, exporters, Pushgateway, PromQL, Alertmanager 以及图形界面。
其大概的工作流程是:
Prometheus server 定期从配置好的 jobs 或者 exporters 中拉 metrics,或者接收来自Pushgateway 发过来的 metrics,或者从其他的 Prometheus server 中拉 metrics。
Prometheus server 在本地存储收集到的 metrics,并运行已定义好的 alert.rules,记录新的时间序列或者向 Alertmanager 推送警报。
Alertmanager 根据配置文件,对接收到的警报进行处理,发出告警。
在图形界面中,可视化采集数据。

猜你喜欢

转载自www.cnblogs.com/gschain/p/11693087.html