温锦文欧普厨电及净水器总代理 发表于 2024-5-1 11:33:41

2 分钟,了解 4 个极为有用的 MetricsQL 函数

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

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

如果使用 PromQL,就比较难写了,而 MetricsQL 就很简单,如下:
count_gt_over_time(interface_status, x) >= 3看到这个写法,基本能直观理解其含义了 count_gt_over_time(series_selector, 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/ 菜单入口:「告警管理」。截图如下:
https://download.flashcat.cloud/ulric/20240130090320.png
任何问题均可联系我微信:picobyte

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 2 分钟,了解 4 个极为有用的 MetricsQL 函数