Prometheus系统监控简介
Posted 韩卫卫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prometheus系统监控简介相关的知识,希望对你有一定的参考价值。
概要
Prometheus是通过定时全量抽样并运用汇总统计的方式实现对系统性能进行评估的监控系统
1、 统计数据而非精确的个体数据
2、 定时(伪实时)而非实时,理论上最小时间间隔1s
【注】不适用于精确数据或者精确时间(实时)的监控
总体结构
功能介绍:
1、prometheus server:提供服务发现、数据抓取、数据存储、数据查询、告警规则计算
2、exporter:提供数据metric导出
node_exporter,提供机器资源指标导出(cpu、io、memory、network等)
cAdvisor:提供docker环境指标导出
mysqld_exporter:提供mysql数据库的性能指标
【注】更多exporter参见文档https://prometheus.io/docs/instrumenting/exporters/
3、pushGateway:pushGateway的作用与exporter相反,它提供了被监控端上传内部指标的网关,这些指标被上传到gateway后,prometheus会像对待exporter一样,pull其中的数据。
I、PushGateway的严格前提:
a、 单点风险
b、 可能会丢失指标比如up
c、 PushGateway不会自动删除metric(内存会越占越多),需要调用删除Api
【注】prometheus对于pushGateway的使用场景建议a、由于网络原因,prometheus不能直接访问client,需要通过gateway中转 b、对于那些短期(short-lived:由于pull是有时间间隔(scrap interval)的(最短也要一秒钟),可能在pull的时间间隔中,metric的变化可能是极大的(比如统计短时间的service-level batch job))
4、Alertmanger:告警
5、ServiceDiscovery:服务发现,代替配置文件的做法
prometheus数据类型
I、样本数据类型
1、 count: 增量,此类型数据的一阶导数可以反映数据变化的速率,在实际取值是可以用irate()函数来模拟一阶导数。如http_requests_total
2、 guage:瞬时量(可增可减)
3、 histogram:直方图,bucket
4、 summary:汇总量,quantile α分位
II、查询数据集类型
1、 scalar :a simple numeric floating point value
2、 instance vector :a set of time series containing a single sample for each timeseries, all sharing the same timestamp
3、 range vector : a set of time series containing a range of data points over timefor each time series
【注】instance是给定时间下的一组样本的集合而range是一组样本在给定时间范围内的集合
样本数据存储(本地local+远端influxDb)
1、 本地存储配置(默认)
2、 远端存储(influxDb)
数据抓取(node,cAdvisor,prometheus)
数据查询
告警
Grafana集成
以上是关于Prometheus系统监控简介的主要内容,如果未能解决你的问题,请参考以下文章