Prometheus之简介
1. 监控种类
1. 业务监控
2. 系统监控
3. 网络监控
4. 日志监控
5. 程序监控
2. 数据采集的形式分类
1. 一次性采集
优点: 稳定性好,开发逻辑简单,实现快速
缺点: 采集不到位
2. 后台式采集
优点: 数据准确性高,采集密度精细,管理方便
缺点: 内存泄漏,僵尸进程,性能瓶颈,开发周期长
3. prometheus的特性
1. 基于time series时间序列模型
2. 基于KV的数据模型
3. 采集数据完全基于数学运算
4. 采用HTTP pull/push两种对应的数据采集传输方式
5. 本身自带图形调试
6. 最精细的数据采样
7. 架构

如果没有数据库,默认prometheus只保存15天
4. prometheus缺点
1. 不支持集群化
2. 被监控集群过大后,本身性能有瓶颈
3. 对中文支持不好
5. prometheus对运维的要求
1. 要求对操作系统有很深入扎实的知识
2. 对数学思维有一定的要求
3. 对监控的经验有很高的要求
6. prometheus组织架构
常用组件
- Prometheus Server:用于收集指标和存储时间序列数据,并提供查询接口
- client Library:客户端库(例如Go,Python,Java等),为需要监控的服务产生相应的/metrics并暴露给Prometheus Server。目前已经有很多的软件原生就支持Prometheus,提供/metrics,可以直接使用。对于像操作系统已经不提供/metrics,可以使用exporter,或者自己开发exporter来提供/metrics服务。
- push gateway:主要用于临时性的 jobs。由于这类 jobs 存在时间较短,可能在 Prometheus 来 pull 之前就消失了。对此Jobs定时将指标push到pushgateway,再由Prometheus Server从Pushgateway上pull。
- exporter:用于暴露已有的第三方服务的 metrics 给 Prometheus。
- alertmanager:从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等。
- Web UI:Prometheus内置一个简单的Web控制台,可以查询指标,查看配置信息或者Service Discovery等,实际工作中,查看指标或者创建仪表盘通常使用Grafana,Prometheus作为Grafana的数据源;

7. prometheus的metrics
1. metrics是对采样数据的总称
2. metrics的几种主要类型
1. Gauges
最简单的度量指标,只有一个简单的返回值,或者叫瞬时状态。
例子:磁盘容量,cpu使用率
2. Counters
计数器,从数据量0开始累积计算,只增不减
例子:比如对用户访问量的采样数量
3. Histograms
统计数据的分布情况。比如:最大值,最小值,百分比,平均值
例子:统计0~0.5秒访问量有多少,0.5~1秒有多少

浙公网安备 33010602011771号