1

两分钟,了解四个极为有用的 MetricsQL 函数

 7 months ago
source link: https://www.51cto.com/article/780668.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

两分钟,了解四个极为有用的 MetricsQL 函数

作者:老五 2024-01-30 09:43:36
最近我们开放了 FlashDuty 的告警引擎能力,可以直接对接各类时序库、数据库、ClickHouse、ElasticSearch、Loki 等日志库,对数据做异常判断,直接生成告警事件。

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

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

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

count_gt_over_time(interface_status[5m], 10) >= 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/ 菜单入口:「告警管理」。截图如下:

图片
图片
责任编辑:武晓燕 来源: SRETalk

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK