gpt4 book ai didi

java - Prometheus:针对某种情况发出警报的最佳方式是什么?

转载 作者:行者123 更新时间:2023-11-30 02:06:15 26 4
gpt4 key购买 nike

我正在使用 Prometheus 收集 Java 应用程序的指标。在我的应用程序中,我通过 API 进行调用进行身份验证。我正在设计一种最佳方法,让 Prometheus 在 API 身份验证失败时向我的电子邮件发送警报。我正在考虑使用一个仪表,将其初始化为 0,如果身份验证失败,将仪表值增加到 1——然后将触发一个监视仪表值的警报(如果仪表 > 0,则触发一个警报)警报)。

一旦身份验证成功,我会将仪表的值恢复为 0。

这通常是在 Prometheus 中创建自定义警报的方式吗?

最佳答案

可能不是最好的方法。一种极端情况是,假设每分钟有 100 次身份验证,其中 99 次失败,Prometheus 在一次成功身份验证后立即每分钟抓取一次。你的失败率高达 99%,却永远不会发现。

另一方面,如果您为每次身份验证失败增加一个计数器,您可以在过去几分钟内获取一个 rate() (以解决任何失败/延迟的抓取问题),并且肯定会知道过去几分钟内是否有任何身份验证失败的情况。

至于警报,您可以将其设置为在该速率高于 0(可能不理想,因为总会出现随机故障)或超过某个非零阈值时触发。另外,还可以选择添加有关身份验证请求总数的条件(一个请求的 100% 不同于 1000 个请求的 50%)和/或该条件必须保持的持续时间(即可能有一个 API 用户使用错误的凭据及其所有请求都会失败,但都是在几秒钟内失败,而不是每隔几秒钟就有一次身份验证失败)。您必须自己找出适合您的特定情况的方法。

关于java - Prometheus:针对某种情况发出警报的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51249500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com