Prometheus 官网翻译

概述

什么是prometheus

普罗米修斯是一个开源系统监控和预警工具箱最初在SoundCloud构建。自动2012年成立以来,许多公司和机构采用了prometheus,现在他是一个独立的开源项目独立于任何公司进行维护。为了强调这一点并澄清prometheus的治理结构,prometheus在2016年加入了云原生基金会(CNCF)成为了第二个项目,紧跟Kubernetes之后。

prometheus收集和存储,指标和时序数据。换言之,指标信息和他被记录时的时间戳一起存储。并附带可选的键值对标签。

特点

prometheus主要的特点包括:

  • 一个多维的数据模型,其中时序数据通过指标名和键值对进行标识。
  • PromQL,一个灵活的查询语言,可以利用这个维度。
  • 不依赖分布式存储,单独服务节点是自主的
  • 时序的收集是通过HTTP上的拉取模型进行的
  • 通过中间网关推送时序
  • 通过服务发现或者静态配置发现目标
  • 多种图形和仪表盘支持模式

什么是指标

指标是以非专业术语表达的数值测量。术语时序原来记录随时间的变化。用户想要测量的内容因程序而异。在web服务中,它可能是请求时间;再数据库中,它可以是活动连接或活动查询的数量等等。

指标在理解你的程序为何以某种方式工作中发挥着重要作用。来假设你正在运行一个web应用程序,并且发现他很慢。为了知道你的应用发生了什么。你需要一些信息。举个例子,当请求数量比较高,应用可能变得缓慢。如果你有请求书的指标,你可以确定原因并且增加处理负载的服务器数量。

组件

prometheus生态包括了许多组件,其中很多是可选的

  • prometheus的主服务器用于抓去和存储时序数据
  • 用于检测应用代码的客户端库
  • 推送网关用于支持短时作业
  • 为HAProxy、StatsD、Graphite等服务提供特定用途的导出器。
  • 一个用于处理警报的 alertmanager
  • 各种支持工具

大多数prometheus组件都是go写的,因此很容易发布和以二进制的方式静态部署。

体系结构

图解说明prometheus的体系结构和生态组件

prometheus从以仪表话的作业中抓取指标,可以直接抓取,也可以通过中间网关抓取短时作业指标。它存储所有抓取样本在本地,并对这些数据运行规则,以从现有数据中聚合记录新的事件序列或生成警报。Grafana或者其他API消费者可以使用可视化所收集的数据。

什么时候合适?

prometheus非常适合记录任何纯数字的时序数据中。它既适合以机器为中心的健康,也适合高度动态的面向服务体系结构的监控。在微服务的世界里,它对多维数据的收集和查询的支持是一个特别的优势。

prometheus是为可靠性而设计的,成为您在停机期间使用的系统,使您能够快速诊断问题。每个普罗米修斯服务是独立的,不依赖网络存储或远程服务。当你的基础设施部分出现故障时,你可以关联他,而且你不需要设置广泛的基础设施来使用它。

什么时候不适用?

prometheus重视可靠性。你可以随时查看系统的可用统计信息,甚至在故障条件下。如果你想做到百分之百的准确,例如按请求计费,prometheus不是一个好的选择,因为收集到的数据不够详细和完整。在这种情况下,您最好使用其他系统来收集和分析用于计费的数据,并使用普罗米修斯来进行其余的监控。

Last modification:May 6, 2024
如果觉得我的文章对你有用,请随意赞赏