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

k8s基础监控promql

PromQL 基础语法

PromQL(Prometheus Query Language)是 Prometheus 的时间序列数据查询语言,用于监控 Kubernetes 集群中的资源指标。以下是核心语法和示例:

即时向量查询

直接查询时间序列的当前值:

node_memory_MemTotal_bytes  # 查询节点内存总量
container_cpu_usage_seconds_total  # 查询容器CPU使用时间
范围向量查询

查询指定时间范围内的数据:

node_cpu_seconds_total[5m]  # 过去5分钟的CPU时间
kube_pod_container_resource_limits_cpu_cores[1h]  # 过去1小时的CPU限制
运算符

支持算术、比较和逻辑运算:

node_memory_MemFree_bytes / node_memory_MemTotal_bytes * 100  # 计算内存空闲百分比
kube_pod_status_phase{phase="Running"} == 1  # 筛选运行中的Pod
聚合函数

对数据进行聚合计算:

sum(rate(container_cpu_usage_seconds_total[5m])) by (pod)  # 按Pod聚合CPU使用率
avg(kube_node_status_allocatable_memory_bytes)  # 计算节点平均可分配内存

常用 Kubernetes 监控指标

节点资源监控
# CPU使用率
100 - (avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance) * 100)# 内存使用率
(node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes) / node_memory_MemTotal_bytes * 100# 磁盘使用率
100 - (node_filesystem_free_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"} * 100)
Pod 和容器监控
# Pod CPU使用量
sum(rate(container_cpu_usage_seconds_total{image!=""}[5m])) by (pod)# Pod 内存使用量
sum(container_memory_working_set_bytes{image!=""}) by (pod)# 容器重启次数
sum(kube_pod_container_status_restarts_total) by (container)
服务监控
# HTTP请求成功率
sum(rate(http_requests_total{status=~"2.."}[5m])) / sum(rate(http_requests_total[5m])) * 100# 请求延迟百分位
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))

实用技巧

标签过滤

使用 {} 筛选特定标签:

kube_pod_info{namespace="default"}  # 查询default命名空间的Pod信息
container_memory_usage_bytes{pod="nginx-xyz"}  # 查询特定Pod的内存使用
动态标签匹配

正则匹配标签值:

kube_pod_info{namespace=~"dev|test"}  # 匹配dev或test命名空间
kube_service_labels{label_env!="production"}  # 排除生产环境标签
预测与告警

基于趋势预测资源不足:

# 预测24小时内磁盘写满
predict_linear(node_filesystem_free_bytes{mountpoint="/"}[6h], 3600*24) < 0

注意事项

  1. 范围向量需搭配函数(如 rate())使用,否则返回空数据。
  2. 避免高频查询,长时间范围查询可能消耗大量资源。
  3. 使用 bywithout 控制聚合维度,确保结果可读性。

通过以上 PromQL 查询,可以全面监控 Kubernetes 集群的节点、Pod、服务等核心组件的状态和性能。

http://www.dtcms.com/a/461621.html

相关文章:

  • K8S(一)—— 云原生与Kubernetes(K8S)从入门到实践:基础概念与操作全解析
  • 从入门到精通【Redis】初识Redis哨兵机制(Sentinel)
  • Go语言操作Redis
  • JVM 线上调优与排查指南
  • 青岛公司建站2024年新闻摘抄
  • 杭州网站制作工作室做网站含营销
  • 解决Intellij IDEA控制台,logger.info(),system.out.println()等中文乱码问题
  • Windows+Linux命令总结
  • 无人机智能技术模块运行要点与难点
  • C++17 新特性: std::string_view —— 减少内存分配,让std::string运行得更快
  • 北京营销策划有限公司优化官方网站设计
  • 网站建设涉及和描述的一些问题珠海网站建设厚瑜
  • 11. ubuntu14.0.4 安装文件管理器右键打开终端
  • k8s架构组件
  • 「机器学习笔记8」决策树学习:从理论到实践的全面解析(下)
  • ES6(二)
  • 做co的网站学校网页设计模板图片
  • QTreeView实现多折叠效果
  • 纯 flash 网站比较好的设计欣赏网站
  • 【笔记】树链剖分三题(洛谷 P3384 树剖模板 P2146 软件包管理器 P2486 染色)
  • 建设银行网站用户名忘了怎么办wordpress标签链接优化
  • 文献阅读:A Survey of Edge Caching: Key Issues and Challenges
  • 信号140上岸山东师范经验。
  • 力扣面试经典150题day1第一题(lc88),第二题(lc27)
  • asp 网站开发 软件做期货主要看哪几个财经网站
  • JavaScript实现防抖、节流【带思路】
  • 汇川高压变频器故障解析F79 F90
  • kanass入门到实战(13) - 如何通过评审,有效保障需求和用例的质量
  • 深度解析:Redis缓存三大核心问题(穿透/击穿/雪崩)的技术原理与企业级解决方案
  • 最专业网站建设哪家好微网站微名片