Metric类型

1.Counter
作用: 累加的计数器

样本样例:

#HELP node_cpu Seconds the cpus spent in each mode.
#TYPE node_cpu counter
node_cpu{cpu="cpu0",mode="idle"} 362812.7890625

eg1: 计算5分钟内http请求量增长率

rate(http_requests_total[5m])

eg2: 查询请求量前10的http地址

topk(10, http_requests_total)

2.Gauge
作用: 实时反应当前状态的仪表盘
eg1: 计算php容器内存消耗在2小时内差异

delta(container_memory_usage_bytes{container='php'}[2h])

eg2: 计算上述样本的线性回归模型

deriv(container_memory_usage_bytes{container='php'}[2h])

经典样本计算:
样本样例:

container_memory_working_set_bytes{container="POD",container_name="POD",image="k8s.gcr.io/pause:3.1",instance="k8s-node2",job="kubernetes-cadvisor",kubernetes_io_hostname="k8s-node2",name="k8s_POD_kube-proxy-6ppd2_kube-system_9f12d89b-2ae6-11ea-b5dc-fa163eb7be75_14",namespace="kube-system",pod="kube-proxy-6ppd2",pod_name="kube-proxy-6ppd2"}

eg1:查询实时Pod内存使用量

sum(container_memory_working_set_bytes{image!=''}) by (pod_name)

sum的意思把某一时刻下所符合的列表值累加,by的意思是通过pod_name分组
整体的意思是:实时绘制各个pod的内存使用状况

那为什么要用sum呢?
其实k8s中部署Pod后,不管你的pod内有多少容器,都会给你额外匹配pause容器,这个容器的作用相当于Pod内的基础环境,构建Pod内容器的公共设施(命名空间,网络,IPC等),可类比虚拟机。
所以统计Pod内存使用量就需要把所有pod下所有容器值相加

反之,不用sum的话就会查询到所有容器的内存使用量了

举一反三:
eg1.那么如何计算各节点下的容器使用量总值?
首先是通过节点分组:by (instance)
然后就是组下的各容器内存值累加

sum(container_memory_working_set_bytes{image!=''}) by (instance)

eg2.根据1小时前的情况,预测接下来2小时的各节点内存使用量状况

sum(predict_linear(container_memory_working_set_bytes{image!=''}[1h],2*3600)) by (instance)

3.Histogram & Summary
作用: 统计、分析数据分布情况
例如了解请求耗时分布情况

3.1 Histogram样例

# HELP coredns_forward_request_duration_seconds Histogram of the time each request took.
# TYPE coredns_forward_request_duration_seconds histogram
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.00025"} 0.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.0005"} 0.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.001"} 0.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.002"} 0.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.004"} 0.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.008"} 0.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.016"} 0.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.032"} 259.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.064"} 327.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.128"} 344.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.256"} 351.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="0.512"} 355.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="1.024"} 356.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="2.048"} 357.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="4.096"} 357.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="8.192"} 357.0
coredns_forward_request_duration_seconds_bucket{to="114.114.114.114:53",le="+Inf"} 357.0
coredns_forward_request_duration_seconds_sum{to="114.114.114.114:53"} 15.852329659999997
coredns_forward_request_duration_seconds_count{to="114.114.114.114:53"} 357.0

该指标表示K8s内dns转发请求消耗时间
总操作数为357次
总持续时间为15s
其中耗时在0.128内(le=0.128)的操作次数为344次
在耗时(128,256] 区间的操作次数为351-344=11次

3.2 Summary样例

# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0.0"} 3.2722e-05
go_gc_duration_seconds{quantile="0.25"} 8.0476e-05
go_gc_duration_seconds{quantile="0.5"} 9.6085e-05
go_gc_duration_seconds{quantile="0.75"} 0.00012454
go_gc_duration_seconds{quantile="1.0"} 0.003750961
go_gc_duration_seconds_sum 1.228575062
go_gc_duration_seconds_count 6437.0

该指标表示go的gc垃圾回收持续时间
总操作数为6437次
总持续时间为1.228575062s
其中中位数(quantile=0.5)的持续时间为9.6085e-05s

3.3 差异
3.3.1 Histogram直接反应了在不同区间内样本的个数,区间通过标签len进行定义;
3.3.2 Histogram可以通过histogram_quantile()函数计算出其值的分位数。但是在服务器端进行计算,而summary则是在客户端计算完成。

【Prometheus】Metric类型的理解及运用相关推荐

  1. 【IPC】关于码流类型的理解

    [IPC]关于码流类型的理解 1.背景 2.疑虑 3.总结 3.资源 1.背景 对于IPC网络摄像机,可以设置的码流类型有主码流.子码流,可能还会有第三码流. 这些码流类型又有多种分辨率. 那么设置这 ...

  2. Python中timedelta类型的理解

    Python中timedelta类型的理解 逻辑: timedelta = datetime1-datetime2 理解:一个时间等于两个时刻做差 代码 import datetimeif __nam ...

  3. Linux 终端概念和类型的理解

    目录 Linux 终端概念和类型的理解 查询正在使用的终端命令 可以使用 `tty` 查看当前所在的终端 查看当前连接计算机的终端设备 查看当前正在连接的终端设备和正在使用的程序 终端的概念 Linu ...

  4. Prometheus guage类型rate(变化率)计算

    目录 引言 问题场景 尝试解决 deriv函数解析 最终解决 总结与思考 引言 Promethues是k8s以及云原生下的标准监控告警系统,提供了很多内置的函数,功能已经十分强大,但是,依然有一些需求 ...

  5. 【Solidity】3.类型 - 深入理解Solidity

    索引 [Solidity]1.一个Solidity源文件的布局 [Solidity]2.合约的结构体 [Solidity]3.类型 [Solidity]4.单位和全局可变量 [Solidity]5.表 ...

  6. Python 鸭子类型的理解

    鸭子类型最简洁的解释与理解 用一句概括 进一步解释 用一句概括 是"鸭子"自己就会鸭子那样的"叫声". 进一步解释 python不关注类型本身,而是关注行为:你 ...

  7. 枚举类型的理解和应用

    相信学习java的人,在平时开发时是很少用到枚举.说实在的,本人对枚举类型一向都是云里雾里,直到最近在看android源码时,才微探到其中的妙处. 接下来就以一个例子结合枚举和手势知识点的应用开发来讲 ...

  8. IEEE-754单精度浮点类型有效数字理解(画图不易,望点赞支持)

    32位浮点类型有效数字 单精度浮点类型有效数字为7位,是指数字存储过大导致尾数位存储溢出而失去精度,成功保留下来的真实数字.例如:存储16777217(2^24+1)时,程序中实际存储的是其实是167 ...

  9. mysql 索引类型 bitmap_理解数据库中的常见索引类型

    在数据库中,索引能加快数据库的查询速度.下面就来理解一些常见的索引类型: B-Tree Bitmap Clustered Non-unique unique 索引有很多种类型,可以为不同的场景提供更好 ...

最新文章

  1. PIL 学习笔记(3)
  2. iptables 转发oracle端口
  3. Android Studio 3.4增可视化资源管理工具 可管理和预览项目资源
  4. 爱情二十九课,驾驭爱情
  5. csp真题 202109-2非零段划分C++代码(100分)
  6. linux中按行读取文件,Linux按行读取文件内容
  7. gcc预处理、编译、汇编、链接详解
  8. vector 详解(C++)
  9. c语言程序流程图怎么写,C语言课程设计————写下流程图! 谢谢
  10. Java毕设项目航空订票系统火车票订购系统(2021最新)
  11. 图片随意命名可能被广告拦截插件拦截
  12. 黑苹果0004——制作u盘并开始安装
  13. 新广告法违规词、敏感词在线检测工具
  14. median函数的使用方法_如何使用逆分布函数模拟MEDIAN()聚合函数
  15. Spring Boot项目出现 Invalid bound statement (not found):错误
  16. leetcode 812. Largest Triangle Area(python)
  17. gateway跨域问题解决方法
  18. Android选择颜色,尺码联动
  19. 2021-2027全球与中国厨房工作台安装服务市场深度研究分析报告
  20. 安装算量软件免费吗?鹏业安装算量(在线版):更简单、更高效

热门文章

  1. AAA云主机免费推荐码
  2. OpenCV VideoWriter打开失败
  3. LINUX系统修复 ---- mbr主引导记录的恢复
  4. 【网络】路由器和无线路由器就这么配置
  5. keepass自动输入密码_如何使用Keepass密码管理器更好地组织机密
  6. 密码管理工具KeePass 2.52 正式发布!
  7. 影响AFE采样精度的因素有哪些?
  8. 明星热图|迪丽热巴、倪妮、佟丽娅、米卡与品牌达成新合作;张雨绮、胡杏儿、杨丞琳、郑希怡参加品牌活动...
  9. difference()、differenceBy()、differenceWith()
  10. tp飞蛾打印机PHP,易连云打印机PHP接口