运维监控系统之Prometheus介绍及数据类型

运维 系统运维
Prometheus 是由 SoundCloud 开源监控告警解决方案,特别适合现在容器化的监控。

 简介

Prometheus 是由 SoundCloud 开源监控告警解决方案,特别适合现在容器化的监控。

[[358274]]

架构图


Prometheus的特点

  • 多维数据模型,包含key/value标识标签的时间序列数据;
  • PromQL,一种灵活的查询语言 ,内置的函数可以让我们快速运算得到我们想要的结果;
  • 不依赖分布式存储,默认是本地存储,也可以选择远程读写;
  • 通过http请求拉取(pull)exporter数据;
  • 也可以通过网关(gateway)推送(push)数据;
  • 配置可以通过服务发现或静态配置发现监控目标;
  • 多种图形和仪表板支持模式,特别是grafana的支持,让我们可以快速完成好看的图表。

数据格式

prometheus存储的是时序数据:即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。

时序(time series)是由名称(Metric)以及一组key/value标签定义的,具有相同的名字以及标签属于相同时序。

  • metric名字:表示需要记录的数据的名称以及数据类型,如http_request_total。时序的名字由 ASCII 字符,数字,下划线,以及冒号组成,它必须满足正则表达式 [a-zA-Z:][a-zA-Z0-9:]*, 其名字应该具有语义化,一般表示一个可以度量的指标,例如 http_requests_total, 可以表示 http 请求的总数。
  • 标签:用来表示一类资源,例如:同一个集群可以使用同一个标签,就可以通过标签获取到整个集群的同一个指标。
  • 指标值:按照某个时序以时间维度采集的数据,称之为样本。实际的时间序列,每个序列包括一个float64的值和一个毫秒级的unix 时间戳
[[358275]]

Prometheus 四种指标类型

1.Counter (计算器):单调递增的指标,即只增不减,除非监控系统发生了重置。

2.Gauge(仪表盘):可以任意变化的指标,即可增可减。

3.Histogram(直方图):在一段时间范围内对数据进行采样,并将其计入可配置的存储桶中,后续可通过指定区间筛选样本,也可以统计样本总数,最后一般将数据展示为直方图,

  1. 样本的值分布在 bucket 中的数量,命名为 <basename>_bucket{le="<上边界>"}。解释的更通俗易懂一点,这个值表示指标值小于等于上边界的所有样本数量 
  2. 所有样本值的大小总和,命名为 <basename>_sum。 
  3. 样本总数,命名为 <basename>_count。值和 <basename>_bucket{le="+Inf"} 相同。 

4.Summary(摘要):Histogram类似类型,用于表示一段时间内的数据采样结果(通常是请求持续时间或响应大小等),但它直接存储了分位数(通过客户端计算,然后展示出来),而不是通过区间计算

  1. 样本值的分位数分布φ-quantiles (0 ≤ φ ≤ 1) 情况,命名为 <basename>{quantile="<φ>"
  2. 所有样本值的大小总和,命名为 <basename>_sum 

Histogram与Summary的异同

它们都包含了 _sum 和 _count 指标 Histogram 需要通过 _bucket来计算分位数,而 Summary 则直接存储了分位数的值。

总结

prometheus的数据格式规范,可以使用PromQL语句快速查询,特别是结合grafana,完成一个图表是分分钟的事情。

 

责任编辑:姜华 来源: 今日头条
相关推荐

2020-12-30 08:09:46

运维Prometheus 监控

2020-12-29 10:45:22

运维Prometheus-监控

2020-12-28 10:13:32

运维Prometheus监控

2021-07-07 05:46:46

运维监控Prometheus

2020-12-30 05:34:25

监控PrometheusGrafana

2014-07-09 14:33:12

PythonPython运维

2022-07-11 13:43:51

Prometheus监控

2023-10-11 09:58:07

2013-04-12 13:30:47

2011-03-21 14:43:42

2010-01-19 13:17:05

C++数据类型

2018-09-27 08:59:29

2010-10-27 14:52:04

ORACLE数据类型

2009-09-07 10:48:53

C#数据类型

2009-09-04 10:16:30

C#数据类型

2011-06-08 13:35:18

C#数据类型

2016-04-06 10:02:23

手机微博运维监控

2022-02-08 10:21:17

运维应用监控

2015-09-23 16:46:54

架构监控运维自动化

2019-03-15 10:13:10

运维云计算运营
点赞
收藏

51CTO技术栈公众号