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. PTA 树的遍历

    给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数.第二行给出其后序遍历序列.第三 ...

  2. vue 之组件递归;

    在开发一个 PC 端的项目时,需要开发一个树状结构,直接上效果图如下:点击 "+" 号的时候则展开下一级,点击 "-" 号的时候则收起: 之所以写这篇博客,因为 ...

  3. VUE 全局变量的几种实现方式

    最近在学习VUE.js 中间涉及到JS全局变量,与其说是VUE的全局变量,不如说是模块化JS开发的全局变量. 1.全局变量专用模块 就是以一个特定模块来组织管理这些全局量,需要引用的地方导入该模块便好 ...

  4. java框架之SpringBoot(6)-Restful风格的CRUD示例

    准备 环境 IDE:Idea SpringBoot版本:1.5.19 UI:BootStrap 4 模板引擎:thymeleaf 3 效果:Restful 风格 CRUD 功能的 Demo 依赖 &l ...

  5. cocos creator怎么隐藏组件(setVisible)

    以 label 为例: this.label.node.active = fasle 隐藏节点this.label.ndoe.active = true显示节点

  6. redis内存不够 : OOM command not allowed when used memory > ‘maxmemory’

    Redis内存不够,报错. 三种解决思路 注:如修改了配置文件需重启redis 1. 增加redis内存,修改redis.conf(集群中为redis-env.sh),默认为1024MB,增加到合适的 ...

  7. 数据库SQL的分组函数

    分组函数:(五个) 1···max(expr):求expr的最大值 }\ 2···min(expr):求expr的最小值 }-- 数据类型是有规定的 3···sum(expr):求expr的总和 }- ...

  8. TP无限回复

    引入文件和css样式 <script src="__PUBLIC__/bootstrap/js/jquery-1.11.2.min.js"></script> ...

  9. Godot必须明确掌握的概念与知识

    本文对godot必须掌握的概念进行罗列,以便于浏览学习: (随时补充) 1.场景 2.节点 X:场景与节点 3.脚本(建议直接学习GDscript,当然掌握C#也可以) 4.类

  10. Java Hello World源代码notepad++版

    Notepad++中写Java Hello World代码并运行,步骤如下: 1. 在E:\CodeDemo\Java文件夹下(你也可以选择自己的文件夹)新建一个txt文本文件. 如果没有NotePa ...