乔克视界 乔克视界
首页
  • 运维
  • 开发
  • 监控
  • 安全
  • 随笔
  • Docker
  • Golang
  • Python
  • AIOps
  • DevOps
  • Kubernetes
  • Prometheus
  • ELK
  • 心情杂货
  • 读书笔记
  • 面试
  • 实用技巧
  • 博客搭建
友链
关于
收藏
  • 分类
  • 标签
  • 归档

乔克

云原生爱好者
首页
  • 运维
  • 开发
  • 监控
  • 安全
  • 随笔
  • Docker
  • Golang
  • Python
  • AIOps
  • DevOps
  • Kubernetes
  • Prometheus
  • ELK
  • 心情杂货
  • 读书笔记
  • 面试
  • 实用技巧
  • 博客搭建
友链
关于
收藏
  • 分类
  • 标签
  • 归档
  • Docker

  • Golang

  • AIOps

  • Python

  • DevOps

  • Kubernetes

  • Prometheus

    • Prometheus 介绍
    • 手动搭建 Prometheus
    • 配置监控
    • 安装 Grafana
    • AlertManager
    • Operator 部署 Prometheus
    • 常用函数
      • 数据类型
      • 常用函数
        • rate
        • increase
        • sum
        • topk
        • count
        • irate
    • 黑盒监控
    • 集群事件监控之 kube-eventer
    • 配置企业微信告警
    • PromQL 常用操作
    • 配置短信告警
    • 监控指标
    • PushGateway
    • Google 四大黄金指标
    • Kubernetes 性能指标
  • ELK

  • 专栏
  • Prometheus
乔克
2025-07-20
目录

常用函数

# 数据类型

Prometheus 提供度量的四种基本数据类型为 Counter,Gauge,Histogram,Summary。

Counter 类似,记录只增长,不减少的指标。比如 CPU 时间片,API 访问总数等;

Gauge 类型,记录可增长,可减少的指标。比如内存使用率,CPU 使用率等;

Histogram 类型,记录指标的分布情况,并且提供度量指标的总和;

Summary 类型,和 Histogram 类似,主要用于计算在一定时间窗口范围内度量指标对象的总数以及所有对量指标值的总和。

# 常用函数

文档地址:https://prometheus.io/docs/prometheus/latest/querying/functions/ (opens new window)

# rate

rate()函数是专门搭配 Counter 数据类型使用的,提取 Counter 在某个时间段中每秒的增量。

例如:

rate(node_network_receive_bytes_total{device="eth0"}[1m])
1

# increase

increase()函数用于提取某个时间段中数据的增量,比较粗粒度。

例如:

increase(node_network_receive_bytes_total{device="eth0"}[1m])
1

# sum

sum()函数就是用于求和。

例如:

sum(rate(node_network_receive_bytes_total{device="eth0"}[1m]))
1

注意:默认情况下,sum 是将所有服务器监控的数据进行求和,如果要看某一台就需要拆分,常见的拆分方法如下:

  • by increase()
  • by (cluster_name)  属于自定义标签不是标准标签,我们可以手动将不同功能的服务器进行分组展示

# topk

topk()函数用于取前面 x 位的最高值。

Gauge 类型使用方式:

topk(3,key)
1

Counter 类型使用方式:

topk(3,rate(key[1m]))
1

# count

count()函数用于计数,当前或者历史数据中某个 key 的数值大于或小于某个值的统计;

例如:

count(node_netstat_Tcp_CurrEstab >180)
1

# irate

irate()函数用于计算范围中时间序列的每秒即时增长率。

例如:

irate(http_requests_total{job="api-server"}[5m])
1
上次更新: 2025/07/20, 10:40:32
Operator 部署 Prometheus
黑盒监控

← Operator 部署 Prometheus 黑盒监控→

最近更新
01
elastic 账户认证 401 问题
07-20
02
使用 helm 安装 es 和 kibana
07-20
03
elastic stack 搭建
07-20
更多文章>
Theme by Vdoing | Copyright © 2019-2025 乔克 | MIT License | 渝ICP备20002153号 |
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式