Prometheus-简介(1)

What is Prometheus?

1.Introduce

Prometheus最初是由SoundCloud创建的开源的系统监控以及告警工具。从2011年开始,很多公司和组织开始使用Prometheus,该项目拥有活跃的开发者和用户社区。现在Prometheus是一个独立的开源项目,任意公司都可以独立维护。为了强调这一点并阐明项目的管理结构,Prometheus在Kubenetes之后作为第二个托管项目在2016年加入了CNCF。

2.Features

  • 由metric名称和key/value对构成并标识的支持多维度数据模型的时序数据
  • PromQL,一个复杂的查询语言
  • 不依赖分布式存储,单节点可自治
  • 使用HTTP协议通过pull的方式拉取时序数据
  • 通过一个中间网关,也可以支持推送数据
  • 数据采集目标通过服务发现或者静态配置来查找
  • 支持多种模式的图形和仪表盘
  1. Components
  • prometheus server,用来拉数据和存数据,required
  • client libraries,应用代码集成,提供Prometheus需要的格式的指标和对应数据,required
  • push gateway,支持短生命周期的job,optional
  • 针对某些组件或服务(node,mysql,k8s,haproxy)的特定目的的exporter,optional
  • alertmanager,处理告警的组件,optional
  • 其他多种多样的支持工具
  1. Architecture


    Prometheus-简介(1)_第1张图片
    架构图
When does it fit or not fit?

Prometheus非常适合纯粹的数值型时序数据,既支持中心化的监控也支持高度面向服务化架构的监控,Prometheus被设计成一个可靠的,在遇到异常情况的时候方便快速诊断问题的系统,每个节点都是独立的,不依赖外部存储和服务,使用成本低。如果你需要100%的准确性,例如记录每次账单请求的场景,Prometheus是不合适的,因为它采集的数据可能不够精细和完整(比如是定时拉数据)。这些场景最好使用其他的系统,把监控交给Prometheus。

你可能感兴趣的:(Prometheus-简介(1))