Prometheus核心原理介绍

58 阅读1分钟

什么是Prometheus?

Prometheus 是一个基于Go语言编写的开源系统监控和警报工具,最初由 SoundCloud 构建。

Prometheus通过定时抓取目标服务的metrics, 将其存储为时间序列数据,即指标信息与其记录的时间戳一起存储,同时存储可选的键值对(称为标签),并且提供了Alertmanager模块实现告警,同时Prometheus提供了PromQL查询语言实现对指标查询和处理。

Prometheus的主要特性

  • 提供多维度的数据模型,基于时序数据的Metrics和键值对(标签)。
  • 提供PromQL查询语言,实现更加灵活的数据查询功能。
  • 不依赖分布式存储,Prometheus支持本地存储(TSDB),同时与传统时序数据库进行集成,如InfluxDB、OpenTSDB。
  • 基于PULL模式收集Metrics,同时提供了Pushgateway组件,可以实现PUSH模型收集Metrics。
  • 提供alertmanager实现监控告警。

什么是Metrics?

Prometheus的架构

image.png

参考:Prometheus官方文档