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. 深度学习基础(一)LeNet_Gradient-Based Learning Applied to Document Recognition

    作者:Yann LeCun,Leon Botton, Yoshua Bengio,and Patrick Haffner 这篇论文内容较多,这里只对部分内容进行记录: 以下是对论文原文的翻译: 在传统 ...

  2. Mac系统显示隐藏文件及文件夹

    显示隐藏文件 终端 输入如下命令,回车即可: defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Fin ...

  3. 19.0-uC/OS-III内存管理

    内存管理 uC/OS-III可以获得连续的内存块.内存块大小可以相同, 所有的内存分 区包含了整数个内存块. 在特定的时间执行内存块的分配和释放.内存分 区以内存块数组的形式被静态分配的.如果分配后不 ...

  4. WebMagic

    一.WebMagic的四个组件 1.Downloader Downloader负责从互联网上下载页面,默认使用apache HttpClient作为下载工具 2.PageProcessor 负责解析页 ...

  5. Pandas的可视化操作(利用pandas得到图表)

    基本折线图 Series和DataFrame上的这个功能只是使用matplotlib库的plot()方法的简单包装实现. 举个例子 import pandas as pd import numpy a ...

  6. 【JVM】-NO.113.JVM.1 -【JDK11 HashMap详解-0-全局-put】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  7. 家庭记账本之微信小程序(二)

    在网上查阅了资料后,了解到了在完成微信小程序之前要完成注册阶段的工作,此次在这介绍注册阶段的流程. 1.首先你要确定小程序的定位.目的以及文案资料等(准备工作). 2.打开微信公众平台官网,点击右上角 ...

  8. netty如何实现零拷贝

    根据 Wiki 对 Zero-copy 的定义: "Zero-copy" describes computer operations in which the CPU does n ...

  9. 极致21点开发DAY1

    最近在学习UI框架,无奈没有完整的项目学习,四处搜索找了这款游戏源码,在Unity2018上完美运行.于是乎开始学习开发这款游戏.今天主要完成的任务时拼UI.搭建了3个场景, StartScene, ...

  10. Windwos Live Writer插件指南

    Windows Live Writer 即(WLW) 是一个免费的桌面应用程序,可以用于发布博客. 官网下载地址:https://www.microsoft.com/zh-CN/download/de ...