> 文章列表 > prometheus基本介绍

prometheus基本介绍

prometheus基本介绍

001 基本介绍

1.主要功能

  • 多维数据模型(时序由metric名字和k/v的labels构成)
  • 灵活的查询语句
  • 无依赖存储,支持local和remote不同的模型
  • 采用http协议,使用pull模式,拉取数据,简单易懂
  • 监控目标,可以采用服务发现或静态配置的方式
  • 支持多种数据模型,图形化友好

2.核心组件

  • Promethus Server :主要用于抓取数据和存储数据,另外还提供查询和alert rule配置管理
  • client libraries:用于对接Prometheus Server,可以查询和上报数据
  • push gateway:用于批量,短期的监控数据的汇总节点,主要用于业务数据汇报
  • 各种汇报数据的exporters
  • 用于告警通知管理的alertmanager

3.基础架构图

prometheus基本介绍

从上图可以看出prometheus主要模块包括:

  • Server
  • Exporters
  • Pushgateway
  • PromQL
  • Alertmanager
  • WebUI

使用逻辑:

  1. prometheus server定期从静态配置的targets或者服务发现的targets拉取数据
  2. 当新拉取的数据大于配置内存缓冲区的时候,Prometheus会将数据持久化到磁盘(如果使用remote storage将持久化到云端)
  3. Prometheus可以配置rules,然后定时查询数据,当条件触发时会将告警推送到altermanager
  4. altermanager收到告警会根据配置聚合、去重、降噪,最后发送警告
  5. 可以使用API,prometheus console或者grafana查询和聚合数据

4.注意

  1. prometheus的数据是基于时序的float64的值,如果数据值有很多类型,则无法满足
  2. prometheus不适合做审计计费,因为它的数据是按照一定时间采集,关注系统的运行瞬时状态以及趋势,即使没有少量数据没有采集也可容忍。审计计费需要记录每个请求,并且数据长期存储,prometheus无法满足。

5. 总结

  • prometheus属于一站式监控告警平台,依赖少,功能齐全
  • 支持对云或者容器的监控,其他不洗头主要针对主机监控
  • 数据查询表现力更强大,内置更强大的统计函数
  • 在数据存储扩展性和持久性不如InfluxDB、OpenTSDB、Sensu好