Prometheus - Introduction

简介: 云原生监控方案 Prometheus 的历史发展介绍


image.jpeg

Key Word:

来自于 Google 的 Borg 体系,它的原型系统叫作 BorgMon

2012 前Google工程师在 SoundCloud 上研发的开源系统监视和警报工具

2016 年加入 CNCF 成为第二个孵化项目

用于指标收集及告警,不包括日志或者分布式追踪


古希腊语:Προμηθεύς、英语:Prometheus,名字的含义是“先见之明”

当时宙斯禁止人类用火,普罗米修斯看到人类生活的困苦,帮人类从奥林匹斯山盗取了火,因此触怒宙斯。

宙斯为了惩罚人类,将潘多拉的盒子放到人间。

再将普罗米修斯锁在高加索山的悬崖上,每天派一只鹰去吃他的内脏。

image.jpeg


特点:

多维数据模型,度量名称、标签(键值对)、时间序列数据

PromQL,灵活的查询语言,利用此进行数据操作

不依赖分布式存储;单个服务器节点是自治的

时间序列收集通过HTTP上的拉模型进行

通过中间网关支持推送时间序列

通过服务发现或静态配置发现目标

多种图形和仪表板支持模式



组成:

Promethues 用于主动收集及存储时间序列数据

Exporter 用于某种服务的指标监控及暴露

PushGateway 用于接受短期工作的服务主动推送指标

AlertManager 用于告警处理,例如通过邮件推送

ClientLibraries 用于自行开发的服务指标监控及暴露


目前整体的解决方案统称为 Prometheus Stack

基于 Kuberentes Operator,包括对 Kuberentes Cluster的监控

并且实现了对监控目标的动态发现(基于标签或者注解)


架构:

image.jpeg



Pull & Push

Promethes 支持 Pull 模式拉取监控数据,也支持 Push 模式,区别在于数据的采集方。

Pull 模式:由Prometheus 定期 Pull 对应 Job 定义的 Target 来获取对应的监控数据。

Push 模式:由被监控对象主动 Push 监控数据到 PushGateway,而后Prometheus 在从 PushGateway 进行数据采集。


默认情况下,Prometheus 官方推荐使用 Pull 模式,但由于某些特殊场景下,例如批处理作业等无法知道具体的执行时间从而确定何时进行采集,或者是网络无法直接被 Prometheus 访问,从而要使用 Push 模式进行主动推送监控数据。


目录
相关文章
|
3月前
|
数据可视化 API
Grafana 系列文章(七):Grafana Explore 中的 Tracing
Grafana 系列文章(七):Grafana Explore 中的 Tracing
|
10月前
|
Prometheus 运维 监控
译|How to use Prometheus for anomaly detection in GitLab(二)
译|How to use Prometheus for anomaly detection in GitLab(二)
77 0
|
10月前
|
Prometheus 运维 Cloud Native
译|How to use Prometheus for anomaly detection in GitLab(一)
译|How to use Prometheus for anomaly detection in GitLab
74 0
|
存储 SQL Cloud Native
GalaxyEngine Overview
PolarDB-X 是由阿里巴巴自主研发的云原生分布式数据库,融合了分布式 SQL 引擎 GalaxySQL 和分布式存储引擎 GalaxyEngine,其中 GalaxyEngine 是新一代面向分布式场景的 MySQL 发行版本,作为官方 MySQL 版本的一个分支,除了吸收和跟进官方版本的持续改进以外,尤其在分布式场景下,实现了 Lizard 分布式事务和全局一致性解决方案、 Galaxy X-Protocol 交互协议 pipeline request、 X-Engine 存储引擎、 Galaxy X-Paxos Cluster 保证数据零丢失并持续可用,以及共享的 RDS MySQL
1124 0
GalaxyEngine Overview
|
设计模式 前端开发 JavaScript
Overview|学习笔记
快速学习Overview
72 0
|
弹性计算 监控 NoSQL
【Elastic Engineering】Beats:Beats 入门教程 (二)
这篇文章是 “Beats 入门教程 (一)”的续篇。在上一篇文章,我们主要讲述了 Beats 的一些理论方面的知识。在这篇文章中,我们将具体展示如何使用 Filebeat 及 Metriceat 把数据导入到我们的 Elasticsearch 并对他们进行分析。
307 0
【Elastic Engineering】Beats:Beats 入门教程 (二)
|
存储 NoSQL 数据可视化
【Elastic Engineering】Beats:Beats 入门教程 (一)
在今天的这个教程里,我们来针对初学者如何快速地了解 Beats 是什么,并如何快速地部署 Beats。如果你想了解更多关于 Beats 方面的知识,可以参阅我的文章。
635 0
【Elastic Engineering】Beats:Beats 入门教程 (一)
|
存储 传感器 JSON
【Elastic Engineering】 Kibana:如何开始使用
Kibana 是用于在 Elasticsearch 中可视化数据的强大工具。 这是开始探索你的 Elasticsearch 数据的方法。Kibana 是一种开源分析和可视化工具,可通过基于浏览器的界面轻松搜索,可视化和探索大量数据。 除了 Elasticsearch,Logstash 和 Beats 之外,Kibana 是 Elastic Stack(以前称为 ELK Stack)的核心部分。
492 0
【Elastic Engineering】 Kibana:如何开始使用
|
5G API 索引
|
Web App开发 存储 人工智能