Prometheus 监控进程的内存使用率 PromQL 多对一向量匹配

news/2024/5/19 1:32:43 标签: prometheus, process, PromQL, 向量匹配, 多对一

使用 process-exporter 监控进程,node-expoert 监控节点

  • 获取每个进程的内存使用量的表达式为 node_process_namegroup_memory_bytes{job="process",ip="10.1.1.1",memtype="resident"}
  • 获取节点总内存量的表达式为 node_memory_MemTotal_bytes{job="node",ip="10.1.1.1"}

如果想计算每个进程的内存使用率,简单地将二者相除是得不到结果的,正确的计算表达式为 node_process_namegroup_memory_bytes{job="process",ip="10.1.1.1",memtype="resident"} / on(ip) group_left() node_memory_MemTotal_bytes{job="node",ip="10.1.1.1"}

on(ip) 用于向量匹配,也就是除法运算符左右两侧的表达式中通过 ip 标签来匹配,两边的 ip 相等的才会进行运算。group_left 用于多对一匹配,左侧会有多个值,即每个进程的内存使用量,而右侧只有一个值,即节点的内存总量,要实现左右两侧的运算,要通过 group_left() 表示多对一的关系,即左侧每个值都逐一与右侧的值进行运算。group_left() 的参数是右侧的标签名,其会将此标签值传递给左侧,也就是出现在运算的结果中,并且覆盖左侧同名标签。比如此例中如果 group_left(job),那么最终结果的标签集中将会存在 job="node" 而不是 job="process"


http://www.niftyadmin.cn/n/1531814.html

相关文章

【译】WebAPI,Autofac,以及生命周期作用域

说明 原文地址:http://decompile.it/blog/2014/03/13/webapi-autofac-lifetime-scopes/ 介绍 这是一篇关于AutoFac的生命周期作用域的文章。 关于生命周期域一直以来都是一个令人头疼的命题,其中有些概念极易造成误解和混淆,比如域内单例&…

Prometheus 基于 snmp 监控网络设备注意事项

使用ifHCOUTOctets 而不是 ifOUTOctets,前者是64位的counter,后者是32位的snmp-exporter 的配置文件中,抓什么指标就 walk 什么 oid,最小化 walk 提高效率告警指标通常使用端口占用率而不是端口流量绝对值,ifSpeed 的值…

Prometheus源码学习(2) 服务发现

Prometheus 每个被控目标暴露一个 endpoint 供 server 抓取,要获知这些 endpoint 有多种方式,最简单的是在配置文件里静态配置,还有基于 k8s、consul、dns 等多种方式,基于文件的服务发现是比较灵活普遍的一种方式。当监控目标量比…

Go 中 nil 的作用

总结自 GopherCon 2016: Francesc Campoy - Understanding nil nil pointer 可以调用 nil 接收者的方法 nil slice 完美的零值 nil map 合法的空指,可以被 for range,用于只读的 map nil channel 停止 select case package demo_channelimport …

Ubuntu18.0.4安装docker

我的系统是elementary os,内核Ubuntu18.0.4 用仓库的方式安装,网上一堆教程,但是就是先入为主,遇到问题的时候没有自我思考 1.先更新系统,并安装相关依赖包,让apt可以通过https访问存储库 sudo apt update …

Prometheus 监控 windows process 进程存活

安装 windows-exporter msiexec /i "D:\monitor\windoes_exporter.msi" ENABELD_COLLECTORS"os,cpu,cs.logical_disk,net,system,process" LISTEN_PORT"19182" EXTRA_FLAGS"--collector.process.whitelistabc|windows_exporter"rule …

用WLW离线写cnblogs博文

测试一下用Windows live writer(WLW)离线写cnblogs博文的效果,感谢psterdo提供方法。 发个图片测试一下: Fig.1 Bad Cat! 问题是: WLW不能指定trackback数据,也许有插件能解决这个问题。 WLW的编…

Prometheus源码学习(3) main程序启动

主要工作流程 设置命令行参数及其默认值和描述信息解析启动命令的命令行参数为 cfg 实例校验配置文件(–config.file 设置),默认是 prometheus.yml打印 “Starting Prometheus” 和主机系统信息日志初始化子任务对象并发启动各个子任务 在单…