前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >树义带你学 Prometheus(五):Prometheus 的关键概念

树义带你学 Prometheus(五):Prometheus 的关键概念

作者头像
陈树义
发布2020-10-27 14:42:15
5580
发布2020-10-27 14:42:15
举报
文章被收录于专栏:陈树义

文章首发于【陈树义】公众号,点击跳转到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw

前面几篇文章,我们单刀直入地讲解了 Prometheus 能做什么。接着用一个例子来让大家知道如何使用 Prometheus,以及如何进行告警配置。最后,还用了一篇文章来讲解如何进行图表配置。但是 Prometheus 里面也有一些关键性的概念,理解这些概念有利于我们后续更深入的学习。

Metric 指标

在 Prometheus 中,我们所有的信息都以 Metrics(指标) 的形式存在。

Metrics 由 metric name 和 label name 组成。

代码语言:javascript
复制
<metric name>{<label name>=<label value>, ...}

例如下面的 api_http_requests_total 就是 metrics name(指标名称),而 method 就是 label name(标签)。而 metric name 加上 label name 就是一个完整的 Metric。

代码语言:javascript
复制
api_http_requests_total{method="POST", handler="/messages"}

Metric Type 指标类型

Prometheus 中主要有四种不同的指标类型,用来适应不同的指标类型。

  • counter 计数器
  • gauges 计量器
  • histogram 柱状图
  • summary 汇总

counter 计数器

数据从 0 开始累计,理想状态下应该是永远增长或者是不变。

适用于例如机器开机时间、HTTP 访问量等数值。

gauges 量器

获取一个返回值,采集回来是多少就是多少。数值可能升高,也可能降低。

适用于例如硬盘容量、CPU 内存使用率等数值。

histogram 柱状图

counter 和 gauges 反应的是数值的情况,而 histogram 则是反应数值的分布情况。

histogram 柱状图反映了样本的区间分布梳理,经常用来表示请求持续时间、响应大小等信息。

例如我们 1 分钟内有 1000 个 http 请求,我们想要知道大多数的请求耗时是多少。这时我们使用评价耗时可能不太准,但是我们使用 histogram 柱状图就可以看出这些请求大多数都是分布在哪个耗时区间。

Summary 汇总

文章首发于【陈树义】公众号,点击跳转到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw

柱状图同样表示样本的分布情况,与 Histogram 类似,其会有总数、数量表示。但其多了一个是中位数的表示。 常用来表示类似于:请求持续时间、响应大小的信息。

Histogram 与 summary

为了区分是平均的慢还是长尾的慢,最简单的方式就是按照请求延迟的范围进行分组。例如,统计延迟在010ms之间的请求数有多少而1020ms之间的请求数又有多少。通过这种方式可以快速分析系统慢的原因。Histogram和Summary都是为了能够解决这样问题的存在,通过Histogram和Summary类型的监控指标,我们可以快速了解监控样本的分布情况。

Histogram 指标直接反应了在不同区间内样本的个数,区间通过标签len进行定义。而 summary 则是使用中位数反映样本的情况。

任务(Job)和实例(Instance)

在 Prometheus 中抓取数据的应用叫做实例(Instance),而几个为了同个目的的实例组合起来称之为任务(Job)。例如下面是一个有4个实例的服务工作。

代码语言:javascript
复制
job: api-server  // 名为api-server的job
    instance 1: 1.2.3.4:5670  
    instance 2: 1.2.3.4:5671  
    instance 3: 5.6.7.8:5670
    instance 4: 5.6.7.8:5671

文章首发于【陈树义】公众号,点击跳转到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw

总结

这篇文章我们介绍了 Prometheus 的几个关键概念:

  • Metric 指标
  • Metric Type 指标类型
  • 工作(Job)和实例(Instance)

它们之间的关系如下图所示:

一个任务(Job)可以有多个实例(Instance),一个实例上可以有多个指标(Metric),一个指标只会有一个指标类型(Metric Type)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章首发于【陈树义】公众号,点击跳转到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw
    • Metric 指标
      • Metric Type 指标类型
        • counter 计数器
        • gauges 量器
        • histogram 柱状图
        • Summary 汇总
        • Histogram 与 summary
    • 文章首发于【陈树义】公众号,点击跳转到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw
      • 任务(Job)和实例(Instance)
      • 文章首发于【陈树义】公众号,点击跳转到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw
        • 总结
        相关产品与服务
        Prometheus 监控服务
        Prometheus 监控服务(TencentCloud Managed Service for Prometheus,TMP)是基于开源 Prometheus 构建的高可用、全托管的服务,与腾讯云容器服务(TKE)高度集成,兼容开源生态丰富多样的应用组件,结合腾讯云可观测平台-告警管理和 Prometheus Alertmanager 能力,为您提供免搭建的高效运维能力,减少开发及运维成本。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档