gpt4 book ai didi

monitoring - Prometheus 在 HA 环境中跟踪长时间运行的进程

转载 作者:行者123 更新时间:2023-12-02 04:34:20 27 4
gpt4 key购买 nike

我正在运行 Prometheus 来监控我的系统,并且目前正在构建应用程序级指标。

我遇到的问题是长时间运行的进程。我想知道在任何时候有多少正在运行,我似乎无法通过 Prometheus 找到一个好的解决方案。

这些进程从同时接收流量的多个冗余应用程序异步运行。进程运行在 10 分钟到几个小时之间,所以我最初的天真的方法是在进程启动时计数一个计数器,并在进程停止时增加另一个计数器。

我在这里遇到的问题是,当一个进程在 Grafana 中以 rate 启动时,我看到了上升。运算符(operator),但我无法随时监控有多少正在运行。

由于两个应用程序管理同一个进程池,我无法真正使用仪表来报告当前正在运行的进程数,因为一个进程可能在实例 A 上启动,然后在实例 B(或任何其他正在运行的应用程序实例)上停止)。 (并且将从共享数据库中请求进程数,因此它会被夸大)。

现在我尝试的一种方法是减去 started - finished计数器以获取当前正在运行的实例。但是,如果报告进程在某个时间完成的应用程序将在普罗米修斯抓取指标之前重新启动或死亡(因此我将进入 0 不再是基线的状态),这将很快失去同步。

有关如何处理此问题的任何建议?

最佳答案

也许您可以通过查看每台机器上的进程列表来计算正在运行的进程的数量(您在问题中将其称为实例 A 和 B)。每台机器都会报告正在运行的作业数。要显示所有机器上正在运行的作业总数,请使用 sum()。

您可以将此添加到您的应用程序或使用 process exporter为此(我还没有使用过这个)。

您甚至可以应用一个简单的 shell 脚本来计算进程数并填充由节点收集器提供的文本文件(请参阅文本文件收集器作为 node exporter 的一部分)。

关于monitoring - Prometheus 在 HA 环境中跟踪长时间运行的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45077919/

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