PromQL基础

   
http_request_total{} 瞬时向量表达式,选择当前最新的数据
http_request_total{}[5m] 区间向量表达式,选择以当前时间为基准,5分钟内的数据

http_request_total{} offset 5m

http_request_total{}[1d] offset 1d

分钟前的瞬时样本数据

昨天一天的区间内的样本数据

PromQL聚合操作

   
sum () by (cluster_name)  每个结果里的value值的求和,单位没限制,例如请求总时间
topk(3,count_netstat_wait_connections)

前n条时序   进行瞬时报警,不是为了观察曲线图

bottomk() 后n条时序
quantile(0.5, http_requests_total) 当φ为0.5时,即表示找到当前样本数据中的中位数
min max avg  最小 最大 平均
count() 每条结果计数,单位次数
count_values() 对value进行计数
   

PromQL 内置函数

rate(5m)

取一段时间增量的平均每秒数量,  5m内总增量/5m

适合缓慢变化的计数器(counter)

irate(5m)

指定时间范围内的最近两个数据点来算速率

适合快速变化的计数器(counter)

increase(5m)

取一段时间增量的总量,   5m内总增量

predict_linear(node_filesystem_free{job= "node"}[1h], 4 * 3600)  适合 gauges,对数据的变化趋势进行预测

by 与without(标签名)

avg without(cpu)  ( rate  (node_cpu_seconds_total{mode="idle"}[5m]) )

 without用于从计算结果中移除列举的标签,而保留其它标签。by则正好相反,结果向量中只保留列出的标签,其余标签

则移除。通过without和by可以按照样本的问题对数据进行聚合。

without不按cpu标签分组,然后计算平均值。

 ceil(node_load5{instance="192.168.1.75:9100"})  四舍五入
 day_of_month()  返回被给定 UTC 时间所在月的第几天
 clamp_max(node_load5{instance="192.168.1.75:9100"}, 2)   输入一个瞬时向量和最大值,样本数据值若大于 max,则改为 max,否则不变
 changes(node_load5{instance="192.168.1.75:9100"}[1m])

输入一个区间向量, 返回这个区间向量内每个样本数据值变化的次数(瞬时向量)

如果样本数据值没有发生变化,则返回结果为 1
 delta(cpu_temp_celsius{host="zeus"}[2h])

它计算一个区间向量 v 的第一个元素和最后一个元素之间的差值

用在 Gauge 类型的时间序列上

   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

prometheus告警函数的更多相关文章

  1. Prometheus 告警收敛

    Prometheus 告警收敛 告警面临最大问题,是警报太多,相当于狼来了的形式.收件人很容易麻木,不再继续理会.关键的告警常常被淹没.在一问题中,alertmanger在一定程度上得到很好解决. P ...

  2. Prometheus 告警分配到指定接收组

    Prometheus 告警分配到指定接收组 route属性用来设置报警的分发策略,它是一个树状结构,按照深度优先从左向右的顺序进行匹配. 主要处理流程:1. 接收到Alert,根据labels判断属于 ...

  3. Prometheus 告警状态了解

    Prometheus 告警状态了解 一旦这些警报存储在Alertmanager,它们可能处于以下任何状态: · Inactive:这里什么都没有发生. · Pending:已触发阈值,但未满足告警持续 ...

  4. Prometheus告警规则增删改自动化

    Prometheus告警规则增删改自动化 前言: 随着容器技术的发展,zabbix监控方式与k8s的结合不完善,导致不得不放弃zabbix,而新的监控工具prometheus的使用就越来越多了.但是经 ...

  5. Prometheus告警模型分析

    Prometheus作为时下最为流行的开源监控系统,其庞大的生态体系:包括针对各种传统应用的Exporter,完整的二次开发工具链,与Kubernetes等主流平台的高度亲和以及由此带来的强大的自发现 ...

  6. 02 . Prometheus告警处理

    Prometheus告警简介 告警能力在Prometheus的架构中被划分成两个独立的部分.如下所示,通过在Prometheus中定义AlertRule(告警规则),Prometheus会周期性的对告 ...

  7. Prometheus—告警altermanger

    Prometheus-告警altermanger 1.告警altermanger装配 2.告警Mysql 3.Prometheus针对nodes告警规则配置 相关内容原文地址链接: 51CTO:wfw ...

  8. Prometheus告警处理

    在Prometheus Server中定义告警规则以及产生告警,Alertmanager组件则用于处理这些由Prometheus产生的告警.Alertmanager即Prometheus体系中告警的统 ...

  9. prometheus告警插件-alertmanager

    prometheus本身不支持告警功能,主要通过插件alertmanage来实现告警.AlertManager用于接收Prometheus发送的告警并对于告警进行一系列的处理后发送给指定的用户. pr ...

随机推荐

  1. 高性能Nginx服务器-负载均衡

    Location正则表达式 location的作用 location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作. locatio ...

  2. docker容器的操作

    容器操作 1.查看本地容器 docker ps -a # 查看所有容器 docker ps # 查看所有正在运行的容器 2.容器的创建与启动 方法一:两步完成(强烈推荐方法)(1)创建 docker ...

  3. Golang--匿名变量

    在使用多重赋值时,如果不需要在左值中接收变量,可以使用匿名变量(anonymous variable). 匿名变量的表现是一个下画线_,使用匿名变量时,只需要在变量声明的地方使用下画线替换即可.例如: ...

  4. OfficeOpenXml:World、Excel导出导入库

    基础库:EPPlus 根据模版:OfficeOpenXml.Entends

  5. html5 javascript 事件练习1

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  6. Jmeter接口测试+压力测试+环境配置+证书导出

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...

  7. Shift键的三个妙用!Word又现神操作!

    1.Shift+Alt+上下方向键 :调整段落顺序 同时按这三个键,能够调整段落的顺序,也可以用来调整表格中的行序. 2.Shift+F3:英文大写/小写/首字母大写,这三种模式切换 PS:如果中间夹 ...

  8. js实现打印

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. Python pyYAML模块

    pyYaml模块 一.pyYAML python也可以很容的处理ymal文档格式,只不过取药安装一个模块. 语法例子 注:主要用来做配置文件. 注:需要下载标准库.

  10. Python Semaphore

    Semaphore信号量的使用 信号量: 互斥锁 同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据 ,比如厕所有3个坑,那最多只允许3个人上厕所,后面的人只能等里面有人 ...