夜莺社区的朋友如果问时序库的选型,我一般都会推荐 VictoriaMetrics,除了其性能、稳定性、集群扩展能力之外,VictoriaMetrics 还扩展了 PromQL,提供了 MetricsQL,即增强了 PromQL 的能力。比如下面介绍的场景,就很适合用 MetricsQL 来解决。

需求

某个指标( 假设指标名字是 interface_status )每分钟上报一次,如果 5 分钟内有 3 次大于 x 的值,就报警。

解法

如果使用 PromQL,就比较难写了,而 MetricsQL 就很简单,如下:

count_gt_over_time(interface_status[5m], x) >= 3

看到这个写法,基本能直观理解其含义了 count_gt_over_time(series_selector[d], gt) 函数有两个参数,一个是 range-vector,一个是标量 gt,表示在 range-vector 中大于 gt 的个数,如果大于等于 3,就报警。除了 count_gt_over_time 函数之外,还有 count_le_over_time、count_ne_over_time、count_eq_over_time 道理相同。

思考

假设我们知道原始数据上报频率,如果使用 promql 来实现上述需求,应该怎么写呢?欢迎评论区留言分享 :)

另外

最近我们开放了 FlashDuty 的告警引擎能力,可以直接对接各类时序库、数据库、ClickHouse、ElasticSearch、Loki 等日志库,对数据做异常判断,直接生成告警事件。换句话说,不再需要夜莺、Alertmanager、Elastalert 等告警引擎,Flashduty 就可一肩挑。在线体验地址:https://console.flashcat.cloud/ 菜单入口:「告警管理」。截图如下:

任何问题均可联系我微信:picobyte

2 分钟,了解 4 个极为有用的 MetricsQL 函数的更多相关文章

  1. PHP很有用的一个函数ignore_user_abort ()

    PHP很有用的一个函数ignore_user_abort () 2013-01-16 14:21:31|  分类: PHP |  标签:php  函数  |举报|字号 订阅     ignore_us ...

  2. loadrunner比较有用的字符串函数

    loadrunner比较有用的字符串函数 ******************************************************************************* ...

  3. 收集整理的非常有用的PHP函数

    原文:收集整理的非常有用的PHP函数 项目中经常会需要一些让人头疼的函数,作为开发者应该整理一个自己的函数库,在需要之时复制过来即可.本文作者收集整理数十个PHP项目中常用的函数,保证能正常运行,你只 ...

  4. 100多个很有用的JavaScript函数以及基础写法大集合

    100多个很有用的JavaScript函数以及基础写法大集合 1.document.write("");为 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:docume ...

  5. -----------------------------------项目中整理的非常有用的PHP函数库(一)-----------------------------------------------------

    1.PHP加密解密 PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密. function encryptDecrypt ...

  6. jQuery中10个非常有用的遍历函数

    使用jQuery,可以 很容易的选择HTML元素.但有些时候,在HTML结构较为复杂时,提炼我们选择的元素就是一件麻烦的事情.在这篇教程中,我们将探讨十种方 法去精炼和扩展我们将要操作的集合. HTM ...

  7. 有用的php函数

    filter系列函数 filter_input   通过名称获取特定的外部变量,并且可以通过过滤器处理它 filter_input(INPUT_GET, 'a', FILTER_SANITIZE_NU ...

  8. PHPCMS几个有用的全局函数

    1.$site_setting = get_site_setting($siteid);   这个get_site_setting()函数读取的是多站点中$siteid站点的相关配置,具体位置在网站根 ...

  9. -----------------------------------项目中整理的非常有用的PHP函数库(二)-----------------------------------------------------

    6.PHP列出目录下的文件名 如果你想列出目录下的所有文件,使用以下代码即可: function listDirFiles($DirPath){ if($dir = opendir($DirPath) ...

  10. (转)发现两个有用的C函数_alloca()、_msize()

    转自: http://blog.csdn.net/pony12/article/details/8678071 (1)_alloca()alloca也是用来分配存储空间的,它和malloc的区别是它是 ...

随机推荐

  1. 当 TiDB 与 Flink 相结合:高效、易用的实时数仓

    简介: 利用实时数仓,企业可以实现实时 OLAP 分析.实时数据看板.实时业务监控.实时数据接口服务等用途.但想到实时数仓,很多人的第一印象就是架构复杂,难以操作与维护.而得益于新版 Flink 对 ...

  2. 浅谈专有云MQ存储空间的清理机制

    简介: 浅谈专有云MQ存储空间的清理机制 在近⼀年的项⽬保障过程中,对专有云MQ产品的存储⽔位清理模式⼀直存疑,总想一探究竟但又苦于工作繁忙.精力有限,直到最近⼀次项⽬保障过程中再次出现了类似的问题, ...

  3. 阿里 BladeDISC 深度学习编译器正式开源

    ​简介:随着深度学习的不断发展,AI模型结构在快速演化,底层计算硬件技术更是层出不穷,对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来,还要应对计算框架的持续迭代.深度编译器就成 ...

  4. [Go] golang 执行 Linux 系统 command

    执行系统 shell 命令示例: fileDir := "files/"out, err := exec.Command("sh", "-c" ...

  5. dotnet 使用 Infer# 自动分析代码缺陷

    本文告诉大家如何使用 Infer# 开源库配合 GitHub 的 Action 实现自动分析代码缺陷,如找到可空引用或线程安全等问题 这是一个在 GitHub 上完全开源的仓库,请看 https:// ...

  6. dotnet OpenXML 利用合并表格单元格在 PPT 文档插入不可见的额外版权信息

    本文告诉大家如何利用 Office 对于 OpenXML 支持的特性,在 PPT 的表格里面,通过合并单元格存放一些额外的信息,这些信息对用户来说是不可见的,但是进行拷贝表格等的时候,可以保存此信息内 ...

  7. 从改一个老项目开始的PHP踩坑记

    php所有版本的地址: https://windows.php.net/downloads/releases/archives/ 访问控制器时省略了index.php报No input file sp ...

  8. 前端如何操作动态渲染的多个checkbox列表单选

    input[type=checkbox]:after{     content:"";     display:inline-block;     width:16px;      ...

  9. JavaWeb 中 “转发”与 “重定向”的区别

    JavaWeb 中 "转发"与 "重定向"的区别 每博一文案 人生的常态,就是有聚有散,有得有失,就像山峰一样,总有高低,起伏不断. 曾经,我们是鲜衣怒马的少年 ...

  10. Consul启动闪退

    一.问题概述 在Windows10下载了consul,解压完后,点击consul.exe出现闪退,其实闪退也不影响使用 二.解决方案 方案1: 按理说第一种方法就可以解决问题:在环境变量的系统变量中的 ...