Prometheus概述
Prometheus是什么?
Prometheus是一个开源的系统监控和告警工具包,最初是在SoundCloud开发的。自2012年启动以来,许多公司和组织已经采用了Prometheus,该项目拥有一个非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,并明解该项目的管理结构,Prometheus 在2016年加入了云原生计算基金会,成为继Kubernetes之后的第二个托管项目。
有关普罗米修斯的更详细的概述,请参阅媒体部分链接的参考资料。
特性
Prometheus的主机特性有:
- 具有时间序列的多维数据模型,由指标名称和键/值对进行标识
- PromQL,是一种灵活的查询语言,可以利用该维度
- 不依赖分布式存储;单服务器节点是自主的
- 时间序列收集通过HTTP上的拉取模型进行
- 通过中间网关支持推送时间序列
- 通过服务发现或静态配置发现目标
- 多种模式的图形化和仪表盘支持
组件
Prometheus生态系统由多个组件组成,其中许多组件是可选的:
- 主要的Prometheus服务器,它抓取和存储时间序列数据
- 客户端库
- 支持短期存活作业的推送网关
- 为HAProxy、StatsD、Graphite等服务的专用导出器。
- 负责处理告警的告警管理器
- 各种支持工具
大多数Prometheus组件都是用Go编写的,因此很容易构建并部署为静态二进制文件。
架构
下图展示了Prometheus的架构和它的生态系统的一些组成部分:
Prometheus从添加监控的作业中获取数据,要么直接获取,要么通过中间推送网关获取短期存活作业的数据。它在本地存储所有抓取的样本,并对这些数据运行规则,以聚合和记录来自现有数据的新时间序列,或者生成告警。Grafana 或其他API消费者可用于可视化收集的数据。
完整译文请点击:http://www.coderdocument.com/docs/prometheus/v2.14/introduction/overview.html。