Prometheus - XLab-Tongji/AIOpsConceptualModeling GitHub Wiki

Prometheus + Grafana

优势与特点

  • 一个多维数据模型(时间序列由指标名称定义和设置键/值尺寸)
  • 非常高效的存储,平均一个采样数据占~3.5bytes左右,320万的时间序列,每30秒采样,保持60天,消耗磁盘大概228G
  • Prometheus提供一种灵活的查询语言
  • 不依赖分布式存储,单个服务器节点
  • 是一种适合Docker、Mesos、Kubernetes环境的监控系统
  • 输出被监控组件信息的HTTP接口被叫做exporter,主流组件均有提供下载
  • 任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程
  • Grafana支持多种模式的图形和仪表板
    Prometheus daemon负责定时去目标上抓取metrics(指标) 数据,每个抓取目标需要暴露一个http服务的接口给它定时抓取。

数据模型

所有的储存都是按照时间序列实现的,唯一的metrics和一组label(key = value)组成一条时间序列
四种数据类型如下:

  • Counter 累计值,一直增加不会减少,进程重启后重置
  • Gauge 常规数值,如内存使用变化。可变大变小
  • Histogram 直方图,常用于跟踪事件发生的规模,例如:请求耗时、响应大小。可对内容进行分组,提供Count和Sum
  • Summary 常用于跟踪事件发生的规模,提供Count和Sum

安装 + 运行

在官网下载Prometheus和Grafana,通过更改yaml配置文件可以在localhost查看job