每次出现错误时使用普罗米修斯创建警报

Creating alert using prometheus everytime there is an error

我是普罗米修斯和警报系统的新手。 我开发了一个微服务并添加了度量代码,以便在出现错误时获取增量总数。 现在我正在尝试创建一个警报,以便每当错误增加时,它应该标记出来并发送邮件。 但我无法为这种情况形成正确的查询。我使用了 error_total > 0 之类的东西来发送警报,但它每次都会起作用,因为除非我们手动重置它,否则计数将 > 0。

您要查找的是increase function。每当前 15 分钟内出现错误时,以下表达式都会触发错误:

expr: increase(my_error_metric[15m]) > 0
annotations:
  summary: "Hey! There were {{ $value }} errors in the last 15 minutes"

错误在微服务中很常见,对每个错误发出警报通常是难以管理的。更常见的策略是仅在 error rate 超过给定阈值(例如 5%)时发出警报:

expr: irate(my_error_metric[2m]) / irate(number_of_call[2m]) * 100 > 5

警报增加也可能意味着您可能会错过一些错误,因为警报是在错误上触发的,但在调查期间又发生了另一个错误。不会有第二个警报,它将包含在第一个警报中。