我应该使用哪些Prometheus函数在Grafana中设置总请求数与成功请求数之比的警报?

时间:2020-07-12 19:17:41

标签: twilio prometheus grafana grafana-alerts

我正在使用Twilio发送MFA SMS以便用户登录。

当我要求Twilio为我发送SMS时,我还会为它提供一个回调URL,当消息的状态已更改时,Twilio会将该URL发送给它。在该回调端点中,使用状态标签(message-status)即时增加Prometheus计数器。 可能的状态是:已排队,已发送,已交付,失败和未交付,而“健康”状态转换已排队->已发送->已交付。

此外,每次我收到发送短信的请求时,我都会增加另一个简单的普罗米修斯计数器,而这些计数器根本没有标签(total-messages)。

我在Grafana中查询了这些计数器:

sum(increase(message-status{status="delivered"}[1h]))

sum(increase(total_messages[1h])) 

我尝试设置所有已发送邮件与已发送邮件总数之间的比率的警报:

sum(increase(twilio_messages_status{status="delivered"}[1h])) / sum(increase(twilio_total_messages[1h]))

我进行了一些手动测试,这些图形看起来不符合预期;虽然我发送的所有邮件均已成功传递,但我希望这两个指标之间的比率为1,但不是-计数器(total-messages)更高。

现在,我确定所有消息均已实际发送:

  1. 在我的Twilio帐户中查看仪表板
  2. 查看窗格的日志(每当这些计数器之一增加时,它就会打印日志)
  3. 这些邮件是针对我的私人电话的,我已经全部收到了。

我猜我查询指标的方式是错误的: 我试图删除“增加”功能,而只使用求和功能。然后,我看到两个图都一样,如预期!!

那么当我使用增加值时,怎么可能看不到完全相同的图形? 我究竟做错了什么? 在这种情况下,我应该使用哪些Prometheus函数? 是否有更方便的方法来针对此类指标(总请求数与成功请求数)设置警报?

谢谢!

0 个答案:

没有答案