0x00 简单的时间序列选择

返回度量指标 http_requests_total 的所有时间序列样本数据:

http_requests_total

返回度量指标名称为 http_requests_total,标签分别是 job="apiserver", handler="/api/comments" 的所有时间序列样本数据:

http_requests_total{job="apiserver", handler="/api/comments"}

返回度量指标名称为 http_requests_total,标签分别是 job="apiserver", handler="/api/comments",且是 5 分钟内的所有时间序列样本数据:

http_requests_total{job="apiserver", handler="/api/comments"}[5m]

[info] 注意

一个区间向量表达式不能直接展示在 Graph 图表中,但是可以展示在 Console 视图中。

使用正则表达式,你可以通过特定模式匹配标签为 job 的特定任务名,获取这些任务的时间序列。在下面这个例子中, 所有任务名称以 server 结尾。

http_requests_total{job=~".*server"}

Prometheus中的所有正则表达式都使用 RE2 语法

返回度量指标名称是 http_requests_total, 且 http 返回码不以 4 开头的所有时间序列数据:

http_requests_total{status!~"4.."}

0x01 使用函数,操作符等

返回度量指标 http_requests_total 过去 5 分钟内的 http 请求数的平均增长速率:

rate(http_requests_total[5m])

返回度量指标 http_requests_total 过去 5 分钟内的 http 请求数的平均增长速率总和,维度是 job

sum(rate(http_requests_total[5m])) by (job)

结果:
{job="apiserver"} 0.16666666666666666
{job="kubelet"} 0.49999876544124355

如果两个指标具有相同维度的标签,我们可以使用二元操作符计算样本数据,返回值:key: value=标签列表:计算样本值。例如,以下表达式返回每一个实例的空闲内存,单位是 MiB。

(instance_memory_limit_bytes - instance_memory_usage_bytes) / 1024 / 1024

如果想知道每个应用的剩余内存,可以使用如下表达式:

sum(
instance_memory_limit_bytes - instance_memory_usage_bytes
) by (app, proc) / 1024 / 1024

如果相同的集群调度群显示如下的每个实例的 CPU 使用率:

instance_cpu_time_ns{app="lion", proc="web", rev="34d0f99", env="prod", job="cluster-manager"}
instance_cpu_time_ns{app="elephant", proc="worker", rev="34d0f99", env="prod", job="cluster-manager"}
instance_cpu_time_ns{app="turtle", proc="api", rev="4d3a513", env="prod", job="cluster-manager"}
instance_cpu_time_ns{app="fox", proc="widget", rev="4d3a513", env="prod", job="cluster-manager"}
...

我们可以按照应用和进程类型来获取 CPU 利用率最高的 3 个样本数据:

topk(3, sum(rate(instance_cpu_time_ns[5m])) by (app, proc))

假设一个服务实例只有一个时间序列数据,那么我们可以通过下面表达式统计出每个应用的实例数量:

count(instance_cpu_time_ns) by (app)

转载于:https://www.cnblogs.com/JetpropelledSnake/p/10446987.html

Prometheus监控学习笔记之PromQL简单示例相关推荐

  1. Prometheus监控学习笔记之360基于Prometheus的在线服务监控实践

    0x00 初衷 最近参与的几个项目,无一例外对监控都有极强的要求,需要对项目中各组件进行详细监控,如服务端API的请求次数.响应时间.到达率.接口错误率.分布式存储中的集群IOPS.节点在线情况.偏移 ...

  2. 【学习笔记】求解简单递归式的一般方法

    [学习笔记]求解简单递归式的一般方法 手动博客搬家: 本文发表于20180618 15:53:06, 原地址https://blog.csdn.net/suncongbo/article/detail ...

  3. PHP学习笔记03:简单网上调查站点

    PHP学习笔记03:简单网上调查站点 网上调查站点由两个页面构成.第一个页面(vote.html文件)是一份问卷,问卷上只有一个问题"开发MySQL应用程序你最喜欢哪种编程语言?" ...

  4. Flutter学习笔记 —— 完成一个简单的新闻展示页

    Flutter学习笔记 -- 完成一个简单的新闻展示页 前言 思路分析 案例代码 结束语 上图 前言 刚学Flutter不久,今天我们来看看如何使用 Container & ListView实 ...

  5. golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)

    此文写在golang游戏开发学习笔记-创建一个能自由探索的3D世界之后,感兴趣可以先去那篇文章了解一些基础知识,在这篇文章里我们要创建一个简单的2D游戏场景以及配套的人物,并实现人物运动和碰撞检测功能 ...

  6. Java Web--HTML、CSS、JavaScript详细学习笔记(内含丰富示例代码)

    ** Java Web–HTML.CSS.JavaScript学习笔记 ** HTML(Hyper Text Markup Language超文本标记语言):控制的是页面的内容,是由标签组成的语言,能 ...

  7. 【学习笔记】超简单的快速傅里叶变换(FFT)(含全套证明)

    整理的算法模板合集: ACM模板 目录 一.概念概述 二.前置知识 1. 多项式 2. 复数 4. 欧拉公式证明 3. 复数的单位根 / 单位向量 三.FFT 算法概述 四.离散傅里叶变换(DFT) ...

  8. 【学习笔记】超简单的快速数论变换(NTT)(FFT的优化)(含全套证明)

    整理的算法模板合集: ACM模板 目录 一.前置知识 二.快速数论变换(NTT) 三.NTT证明(和FFT的关系) 四.NTT模板 数组形式的实现 vector形式的实现 点我看多项式全家桶(●^◡_ ...

  9. 32位汇编语言学习笔记(45)--测试简单文件操作接口(完)

     这是<Assembly Language step by step programming with linux>书中的最后一个程序,也是全书中的最复杂的一个程序. 首先看一下这个程 ...

  10. Markdown学习笔记(超简单)所有字符为英文字符!!!!!!

    MarkDown学习笔记 标题 二级标题 ##+空格+文字 三级标题 ###+空格+文字 四级标题 ####+空格+文字 字体 hello,world! hello,world! 粗体:文字前后+** ...

最新文章

  1. 自考之——我看《软件开发工具》
  2. SpringMVC执行流程源码分析
  3. 时间序列研(part7)--单位根检验
  4. elasticsearch简介(大数据技术)
  5. CCF201912-2 回收站选址
  6. Android 系统(161)---N/O版本上图库打开一张图片,图片从模糊到清晰的时间太长
  7. 杨凌职业技术学院计算机专业宿舍,杨凌职业技术学院宿舍条件怎么样
  8. 程序员面临 35 岁危机?网友:我 70 了,依然在写程序
  9. 每天一个linux命令(25):chgrp命令
  10. python去除列表中的重复元素,简单易理解,超详细解答,步骤分析
  11. Android影音播放器需求分析,321影音全能影音播放器源码
  12. 等保2.0三级物联网安全扩展要求
  13. 机器学习-验证策略总结【交叉验证、验证集方法】
  14. 网络诈骗有哪些防范措施
  15. linux系统部署ffmpeg视频转码环境及使用方法
  16. CS:APP第六章知识总结(内存、缓存、locality)
  17. setheading指令_set echo on/off,set term on/off,set feedback off,set heading off命令(转)
  18. nodejs常用模块async(waterfall,each,eachSeries,whilst)
  19. 亚马逊测评项目怎么做?市场如何?测评资源怎么找​?
  20. NPM Error: Cannot find module ‘caniuse-lite/data/features/css-unicode-bidi.js‘

热门文章

  1. 驰骋工作流程引擎在流程设计发生变化后如何处理?
  2. 关于C#中的DLLImport
  3. R语言自然语言处理:文本分类
  4. webpack4打包vue前端多页面项目
  5. BeijingPeople
  6. [SDOI2012]Longge的问题 phi运用
  7. Quartz的job中注入的services接口为空的解决办法
  8. port 执行命令的封装和参数详解
  9. 图片与路径(Path)的应用
  10. Hdu 1026 Ignatius and the Princess I