专栏名称: 码农小胖哥
技术公众号:码农小胖哥
51好读  ›  专栏  ›  码农小胖哥

下一代应用监控指标采集器Prometheus基础介绍

码农小胖哥  · 掘金  ·  · 2019-09-10 15:39

正文

阅读 27

下一代应用监控指标采集器Prometheus基础介绍

Prometheus简介

Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用Prometheus,该项目拥有一个非常活跃的开发人员和用户社区。它现在是一个独立的开源项目。Prometheus于2016年加入谷歌主导的顶级开源社区云原生计算基金会(CNCF),成为第二个顶级托管项目。第一是大名鼎鼎的k8s。 prometheus是属于下一代监控。可用来监控

特征

普罗米修斯的主要特点是:

  • 多维度数据模型(时序由metric名称和k/v结构的labels构成)。
  • 灵活的查询语句(PromQL)。
  • 无依赖存储,支持本地和远程。
  • 采用http协议,使用pull模式拉取数据。
  • 监控目标,可以采用服务发现或静态配置的方式。
  • 支持多种统计数据模型,图形化友好。

组件

Prometheus生态系统由多个组件组成,其中许多组件是可选的,主要有:

  • Prometheus server - 收集和存储时间序列数据
  • client library - 用于client访问server/pushgateway
  • pushgateway - 对于短暂运行的任务,负责接收和缓存时间序列数据,同时也是一个数据源
  • exporter - 各种专用exporter,面向硬件、存储、数据库、HTTP服务等
  • alertmanager - 告警管理器,用以监控指标告警

架构

此图说明了Prometheus的体系结构及其一些生态系统组件:

Prometheus直接或者间接拉取应用的监控指标,汇总并转化成自有的时间序列数据模型或者生成告警信息。提供api给具有可视化的一些UI展现层。

适用场景

Prometheus在记录时间序列的数据方面表现非常好。它既适用于面向服务器等硬件指标的监控,也适用于高动态的面向服务架构的监控。对于现在流行的微服务,Prometheus的多维度数据收集和数据筛选查询语言也是非常的强大。Prometheus是为服务的可靠性而设计的,当服务出现故障时,它可以使你快速定位和诊断问题。它的搭建过程对硬件和服务没有很强的依赖关系。 Prometheus的价值在于可靠性,甚至在很恶劣的环境下,你都可以随时访问它和查看系统服务各种指标的统计信息。 如果你对统计数据需要百分之百的精确,那么Prometheus不是一个很好的选择。

即时向量选择器

Prometheus存储的是时序数据, 即按照相同时序(相同的名字和标签),以时间维度存储连续的数据的集合。时间序列由metric名称和label组成,因为随着时间而改变,所以时序数据都是向量。







请到「今天看啥」查看全文