问题标签 [prometheus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
424 浏览

python - Prometheus 跟踪自动扩展服务器中的请求

我正在尝试使用Prometheus来跟踪一段时间内对我的服务器的请求数。由于我的服务器将使用 Google Compute Engine 水平自动调用,因此我只能将我的指标推送到远程推送网关。我的服务器将在任何给定时间被删除并重新创建。

问题是,无论何时创建新服务器,甚至使用 python 客户端库创建计数器实例,计数值都会重置为 0。我还可以看到图表上下波动,而不是一直在增加。

在此处输入图像描述

在自动调用环境中使用 Prometheus 跟踪请求总数的正确方法是什么?

编辑:

还有另一篇关于完全相同的问题的帖子,只是在稍微不同的情况下。Prometheus 如何处理服务器上的计数器。似乎服务器必须以某种方式自行跟踪计数器状态。Prometheus 只记录当时发送给它的任何值,推或拉。这意味着如果服务器只是调用counter.inc(). 换句话说,文档中的以下语句仅适用于客户端库端。

计数器是一个累积度量,它代表一个只会上升的单个数值。

0 投票
3 回答
12251 浏览

prometheus - Prometheus topk 返回的结果比预期的要多

如果我使用以下查询

它返回预期的 5 个结果。

然而随着

返回大约 18 个结果。知道为什么会这样吗?我需要在第二个查询中进行哪些更改才能仅获得前 5 名?

0 投票
2 回答
23814 浏览

prometheus - Prometheus 速率函数和区间选择

我正在使用 prometheus 进行一些监控,并试图了解如何正确使用速率函数。

前提是这样;我有一个计数器,它的配置设置为每 15 秒获取一次新值。

现在我试图绘制每秒的速率,所以使用速率函数我这样做:

当我解释 rate 函数时,查询将在每个查询的时间点给我一个滚动速率平均值(在 1m 回溯窗口中)。点的间隔由使用的分辨率指定。

下面是来自 prometheus 控制台的屏幕截图,包括原始数据图和上面使用 1m 分辨率的速率查询的图。现在,此处生成的速率图与我对底部图中原始数据的期望并不完全相符。

数据图

有趣的是,根据加载的时间点,生成的图表看起来会非常不同。简单地在随后的几次重新加载相同的图表将完全改变外观到它甚至看起来不像代表相同数据的点。下图是几分钟后的相同数据集,但即使在几秒钟后也会发生同样的情况。

速率重新加载图

有人可以阐明这里到底发生了什么吗?

0 投票
4 回答
34871 浏览

histogram - 如何使用 Promdash 或 Grafana 可视化直方图?

我被 prometheus 的直方图(和摘要)时间序列所吸引,但我一直未能在 promdash 或 grafana 中显示直方图。我期望能够展示:

  • 某个时间点的直方图,例如 X 轴上的存储桶和 Y 轴上存储桶的计数以及每个存储桶的列
  • 桶的堆叠图,使得每个桶都有阴影,并且栈的总数等于 inf 桶

一个示例指标是 HTTP 服务器的响应时间。

0 投票
1 回答
101 浏览

metrics - 如何编写规则来通知指标更新?

我已经为 PostgreSQL 日志配置了导出器。导出器正在寻找级别为错误或致命的新日志消息。Prometheus 正在检查此导出器并以以下格式抓取指标:psql_errors{instance='',level='',message=''}

现在我想制定警报规则来通知我任何新错误。使用像 increase() 或 changes() 这样的操作符并没有帮助。所以我向某人寻求帮助

例如,当前规则是下一个:

0 投票
1 回答
799 浏览

docker - 从 Key/Value 存储中导出 Consul 节点作为 Prometheus 目标

Prometheus 有 Consul 刮板,可以读取有关 Consul服务的数据。但我需要一些不同的东西。

在每个领事代理上,我都安装了 cAdvisor。Consul 代理注册在 Consul Key/Value 存储中,例如MYSWARM/DOCKER/NODES/. 我想使用这些值来获取所有节点的 IP 地址,即 cAdvisors。

我怎样才能做到这一点?

PS看来我正在寻找Consul KV scraper。

0 投票
2 回答
15156 浏览

grafana - 尽管 Prometheus 数据源已成功验证,但 Grafana 无法获取 Prometheus 指标

我正在尝试将 Grafana 配置为可视化 Prometheus 收集的指标。我的 Prometheus 数据源已成功验证。但是当我尝试创建仪表板时,它会显示错误消息"can not read property 'result' of undefined"

我正在添加屏幕截图。 下图显示成功验证的数据源

第二张图片显示了我遇到的错误

0 投票
6 回答
14755 浏览

prometheus - 如何从联合端点抓取所有指标?

我们有一个分层的 prometheus 设置,其中一些服务器抓取其他服务器。我们想让一些服务器从其他服务器那里抓取所有指标。

目前我们尝试match[]="{__name__=~".*"}"用作度量选择器,但这给出了错误parse error at char 16: vector selector must contain at least one non-empty matcher

有没有办法从远程普罗米修斯抓取所有指标而不将每个(前缀)列为匹配选择器?

0 投票
3 回答
7359 浏览

kubernetes - 运行 Pod 和节点的 Kubernetes prometheus 指标?

我已经按照 prometheus文档设置了 prometheus 来监控 kubernetes 指标 。

许多有用的指标现在出现在普罗米修斯中。

但是,我看不到任何引用我的 pod 或节点状态的指标。

理想情况下 - 我希望能够绘制 pod 状态(Running、Pending、CrashLoopBackOff、Error)和节点(NodeReady、Ready)。

这个指标在任何地方吗?如果没有,我可以在某处添加它吗?如何?

0 投票
1 回答
1511 浏览

kubernetes - 如何提醒 Kubernetes 集群健康?

我们在 Google Cloud (GKE) 上作为托管 Kubernetes 集群运行,并使用 Prometheus 抓取它。

我的问题与类似,但我想知道在 K8s 集群中需要注意哪些最重要的指标并可能发出警报?

这是一个 K8s 而不是 Prometheus 的问题,但我真的很感激一些提示。如果我的问题含糊不清,请告诉我,以便我对其进行改进。