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