共计 774 个字符,预计需要花费 2 分钟才能阅读完成。
夜莺社区的敌人如果问时序库的选型,我个别都会举荐 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