【Prometheus】什么是prometheus?prometheus简介

时间:2022-11-08 08:54:28

本文目录

一、什么是prometheus?

 二、体系结构概述

三、适用场景

四、不适用的场景


一、什么是prometheus?

Prometheus官网

Prometheus开源代码

From metrics to insight
Power your metrics and alerting with the leading open-source monitoring solution.

以上是Prometheus官网首页上非常一句醒目的话。我们从这一句话中就可以知道Prometheus是一个开源的监控系统解决方案,能增强你的指标和警报。首先我们先有个印象,Prometheus是一个开源的监控系统。

Prometheus是一个开源监控系统,它前身是SoundCloud的警告工具包。从2012年开始,许多公司和组织开始使用Prometheus。该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。目前它是一个独立的开源项目,且不依赖与任何公司。为了强调这点和明确该项目治理结构,Prometheus在2016年继Kurberntes之后,加入了Cloud Native Computing Foundation。主要具有如下功能:

【Prometheus】什么是prometheus?prometheus简介

  1. 多维数据模型(由度量名称和键/值维度集定义的时间序列)
  2. PromQL,一种强大而灵活的查询语言,可以利用这个维度
  3. 不依赖分布式存储;单服务器节点是自治的
  4. 时间序列收集的HTTP拉模型
  5. 通过批处理作业的中间网关支持推送时间序列
  6. 通过服务发现或静态配置发现目标
  7. 多种图形和仪表板支持模式
  8. 支持分层和水平联合

 二、体系结构概述

以下体系架构也是从官网上得到的。

【Prometheus】什么是prometheus?prometheus简介

Prometheus直接或通过中间推送网关从插入工具的作业中获取指标,用于短期作业。它将所有采集的样本存储在本地,并对这些数据运行规则,以便从现有数据中聚合和记录新的时间序列,或者生成警报。Grafana或其他API消费者可用于可视化收集的数据。

从上图中可以得出它主要包含的组件有

  1. Prometheus server :定期从静态配置的 Prometheus targets (数据源)或者服务发现的 targets (数据源)拉取数据。
  2. Retrieval:检索拉去到的数据分发给TSDB进行存储。
  3. HTTP server:用于接受外界的HTTP请求。
  4. TSDB:当新拉取的数据大于配置内存缓存区的时候,Prometheus会将数据持久化到磁盘(HHD/SSD)(如果使用 remote storage 将持久化到云端)。
  5. Prometheus 可以配置 rules,然后定时查询数据,当条件触发的时候,会将 alert(警告) 推送(pushalerts)到配置的 Alertmanager(警告管理器)。
  6. Alertmanager :收到警告的时候,可以根据配置,聚合,去重,降噪,最后发送警告。
  7. API client,Grafana:API client通过使用promQL查询数据,Grafana用于聚合数据将数据可视化。
  8. Web UI: Prometheus的web接口,可用于简单可视化,及语句执行或者服务状态监控。
  9. Short-lived jobs:存在时间不足以被删除的短暂和​​批量作业
  10. Pushgateway:shaort-lived jobs 在推出时将数据推给pushgateway,主要用于业务数据汇报等。

三、适用场景

Prometheus很适合记录任何纯数字时间序列。它既适用于以机器为中心的监控,也适用于高度动态的面向服务架构的监控。在微服务的世界中,它对多维数据收集和查询的支持是一个特别的优势。

Prometheus是为可靠性而设计的,它是您在停机期间使用的系统,允许您快速诊断问题。每个Prometheus服务器都是独立的,不依赖于网络存储或其他远程服务。当基础设施的其他部分出现故障时,您可以依靠它,并且不需要设置大量的基础设施来使用它。

四、不适用的场景

Prometheus重视可靠性。即使在故障情况下,您也可以随时查看系统的可用统计信息。如果您需要100%的准确度,例如按请求计费,Prometheus不是一个好的选择,因为收集的数据可能不够详细和完整。在这种情况下,您最好使用其他系统来收集和分析计费数据,并使用Prometheus进行其他监控。

例如:它不适用于实时计费系统

完结!