当前位置: 首页 > news >正文

【监控与可观测性】08-PromQL查询语言速查:30个常用表达式

PromQL 查询语言速查:30个常用表达式

专栏:监控 & 可观测性
难度:入门
标签:PromQLPrometheus查询语言速查监控


前言

PromQL 是 Prometheus 的查询语言,掌握它是用好监控的关键。本文整理30个高频使用的表达式,收藏备用。


一、基础查询

# 1. 查询某个指标的当前值 node_memory_MemTotal_bytes # 2. 按标签过滤 http_requests_total{method="POST", status="200"} # 3. 正则匹配 http_requests_total{status=~"5.."} # 匹配5xx http_requests_total{status!~"2.."} # 排除2xx # 4. 查询某个指标的所有标签值 label_values(node_cpu_seconds_total, instance)

二、聚合运算

# 5. 求和(所有实例的总请求数) sum(http_requests_total) # 6. 按维度聚合 sum by(service) (http_requests_total) # 7. 排除某个维度聚合 sum without(instance, pod) (http_requests_total) # 8. 取最大值 max(node_memory_MemTotal_bytes) # 9. 计数(有多少个实例) count(up{job="node"} == 1) # 10. 平均值 avg(node_load1) by (instance)

三、速率计算

# 11. 每秒请求速率(常用于QPS) rate(http_requests_total[5m]) # 12. 增量(区间内总增加量) increase(http_requests_total[1h]) # 13. 瞬时速率(比rate更灵敏,适合短时间窗口) irate(http_requests_total[5m]) # 14. 每分钟请求数 rate(http_requests_total[5m]) * 60

四、系统资源指标

# 15. CPU使用率 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) # 16. 内存使用率 (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 # 17. 磁盘使用率 (1 - node_filesystem_free_bytes{fstype!="tmpfs"} / node_filesystem_size_bytes) * 100 # 18. 系统负载与CPU核数比值(>1说明过载) node_load1 / count(node_cpu_seconds_total{mode="idle"}) by (instance) # 19. 磁盘I/O利用率 rate(node_disk_io_time_seconds_total[5m]) * 100 # 20. 网络错误率 rate(node_network_receive_errs_total[5m])

五、应用指标

# 21. 错误率(5xx比例) sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) * 100 # 22. P99延迟 histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le)) # 23. P50 / P95 对比 histogram_quantile(0.50, ...) histogram_quantile(0.95, ...) # 24. 活跃连接数变化趋势 delta(nginx_connections_active[1h]) # 25. JVM堆内存使用率 jvm_memory_used_bytes{area="heap"} / jvm_memory_max_bytes{area="heap"} * 100

六、告警规则常用

# 26. 实例是否存活(1=存活,0=挂了) up{job="node"} == 0 # 27. 预测磁盘多久打满(predict_linear) predict_linear(node_filesystem_free_bytes[1h], 4*3600) < 0 # 以过去1h速率推算,4小时后磁盘会打满 # 28. 内存急剧下降(可能是内存泄漏反向:OOM后突降) delta(node_memory_MemAvailable_bytes[5m]) < -500*1024*1024 # 29. 进程重启检测(restart_time增大意味着进程重启) changes(process_start_time_seconds[1h]) > 0 # 30. 集群中挂掉的Pod数 kube_pod_status_phase{phase="Failed"} > 0

持续更新…如果你有常用的 PromQL 表达式,欢迎评论区分享!

http://www.jsqmd.com/news/1131413/

相关文章:

  • 多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理
  • 内网横向渗透实战:从环境搭建到信息搜集的完整流程解析
  • STM32与LV30条码扫描器的工业级硬件协同设计
  • B站视频下载神器:5分钟掌握大会员4K视频本地保存技巧
  • LSTM 时间序列预测实战:基于3000期双色球数据,构建7维序列模型
  • 私有云管理平台登录绕过漏洞:从客户端信任模型到安全防御实践
  • 军事仓储空间智能引擎:从三维建模到风险预测
  • Taishan-oslab性能优化指南:如何提升大规模并发实验处理能力
  • Grok 4.3 Beta:从AI聊天工具到工作流嵌入式协作者
  • 3分钟解锁你的汽车数据:opendbc开源项目完全指南
  • DQN 算法实战:CartPole-v0 环境 1000 轮训练实现 200 分满分
  • COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南
  • 英雄联盟自动化工具箱:League Akari 终极使用指南
  • 数据库设计中的3个常见误区:混淆模式、外模式与物理存储导致的性能与维护问题
  • 中文大模型选型不是比参数,而是做工程化决策
  • 移动端集成Chinese-CLIP:从模型优化到Android/iOS部署实战
  • React Server Components安全漏洞CVE-2025-55182深度剖析与防御实践
  • FSConv频域-空域融合改进YOLOv26小目标检测
  • 如何在iOS 14-16.6.1上快速安装TrollStore:TrollInstallerX完整教程指南
  • OpenCV 4.x 多通道 Mat 极值查找:2种高效方案与 minMaxIdx 详解
  • 抖音评论数据采集神器:三步轻松获取完整评论数据,无需编程基础
  • Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼
  • 星露谷物语终极MOD指南:5个步骤打造智能自动化农场
  • STM32与LENA-R8构建全球定位与通信嵌入式系统
  • Xilinx 7系列FPGA DDR3 PCB布线实战:1866Mbps速率下走线长度与端接电阻计算
  • 深度学习对抗样本攻击与防御实战解析
  • Go 配置中心落地:动态配置不是线上手改开关
  • 简单三步禁用Windows Defender防火墙:no-defender完全使用指南
  • Python自动化工具对比:Selenium与Puppeteer/Playwright的架构与实战解析
  • 微信聊天记录备份与查看全攻略:从本地数据库到高效信息管理