Prometheus理论知识

1、Prometheus特性:

  • 基于时间序列模型:时间模型是一系列有序的数据,通常等时间间隔采样数据
  • 基于K/V的数据模型:键值对,速度快
  • 采样数据使用数学公式:完全基于数学运算而不是其他表达式,并提供查询的窗口
  • 采用HTTP pull/push两种对应数据的采集传输方式
  • 开源,且有大量的社区插件
  • 最精细的数据采样:prometheus理论上可以达到没1秒采集1次(采集间隔越短,采集数据量越大)

2、prometheus不足:

  • 目前不支持集群化
  • 偶发数据丢失(2.0之前版本)

3、prometheus的数据存储

  • prometheus采用时间序列的方式,以一种自定义格式存放在本地磁盘上。
  • prometheus的本地时间序列数据库以每小时为间隔来分存储,每一个又分为多个chunk文件,chunk文件就是用来存储,采集过来的数据,metadata和索引文件。
  • prometheus平时采集过来的数据,会先放到内存中,类似缓存的方式用于加快搜索和访问。
  • 当出现宕机时,prometheus有一个保护机制叫做WAL,可以将数据定时存放到磁盘中,并在重启时,用于恢复数据到内存中。

4、prometheus两种采集方式:

  • pull:主动拉取的形式
  • push:被动推送的形式

pull: 指被监控端安装已有的exporters插件,exporters只负责采集数据,而prometheus服务端主动拉取exporters采集的数据。
push:指被监控端主动推送数据到服务端,需要安装官方psuhgateway插件

你可能感兴趣的:(#,prometheus)