问题标签 [prometheus-pushgateway]

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 投票
0 回答
815 浏览

node.js - Push aggregated metrics to the Prometheus Pushgateway from clustered Node JS

I've ran my node apps in a cluster with Prometheus client implemented. And I've mutated the metrics (for testing purpose) so I've got these result:

FYI: I have adopted the given example from: https://github.com/siimon/prom-client/blob/master/example/cluster.js

Then, I pushed the metrics and everything work fine at the process. But, when I checked the gateway portal, it gives different result from those metrics above.

The one that becomes my opinion is the pushed metrics came from single instance instead of aggregated metrics from few instances running. Isn't it?

So, has anyone ever solved this problem?

Oh, this is my push code:

0 投票
0 回答
57 浏览

kubernetes - 在 HPA 中使用被推送到 prometheus pushgateway 的指标

我正在通过 python 客户端推送一个指标来推送 prometheus 中的网关。我能够在普罗米修斯 UI 中查询指标 - “QYZ_normal”并获得结果。

我试图了解如何将该指标用于 HPA(我已经设置了 prometheus-adapter)

以下命令返回很多指标,但不是我推送给普罗米修斯的指标

我是否查看了错误的 API?如何在 HPA 中使用我的指标?

0 投票
1 回答
347 浏览

docker - 检查点推送网关持久性文件到对象存储

pushgateway用来公开来自短期批处理作业的指标。

目前 pushgateway 实例在裸机机器上启动,我在该机器上安装了一个 docker 卷,以允许在容器重启的情况下保留指标(与--persistence.file参数一起)。

docker-compose.yml这里是用于运行容器的文件的摘录:

我正在迁移到没有持久卷的(私有)kubernetes 集群,但配备了与 s3 兼容的对象存储。

从github 上的这个问题来看,似乎可以将 s3 定位为检查点,但如果没有进一步的输入,我不确定如何实现这一点,这是我通过在 Web 上搜索信息所能找到的最好的方法。

谁能指出我正确的方向?

0 投票
1 回答
396 浏览

spring - 如何将 Spring Batch Metrics 发布到 Prometheus 网关

我有一个春季批处理作业,我想按照此处的建议将指标推送到 Prometheus

我需要通过千分尺仅推送 Spring 批处理给出的默认指标。有一种简单的方法,我不需要任何东西,只需添加以下依赖项:

正如这里提到的

但是第二种方法是设置 PushGateway 服务器,然后编写Configuration Class

  1. 这两种方法有什么区别吗?
  2. 在第二种方法中,当我们只需要默认指标时如何编写它? Pushgatewayurl 很好,我理解,但是如果我有十几个工作,在工作名称和分组键中设置什么。?
0 投票
0 回答
65 浏览

bash - Bash 脚本未从数组中找到索引

我编写了一个 bash 脚本,我想用它来通过 pushgateway 监控 Synology 上的备份。

该脚本应在备份文件夹中搜索子文件夹,将最新文件写入变量并将文件的年龄和大小写入数组。

为了最终将其提供给推送网关,我列出了所有带有索引的指标。所有文件夹或文件都可用。如果我执行脚本,通常找不到一个或多个索引。如果我一一手动执行命令,我会得到正确的输出。

这是脚本:

我希望你能帮助我并指出我犯的错误。我也对脚本的一般优化持开放态度,因为我认为可以更好地解决它,提高性能或优化。我从这里有几行代码;-)。

提前谢谢了。

0 投票
0 回答
86 浏览

performance - 删除 pushgateway 中的指标会删除 prometheus 中的抓取指标

我们正在使用 Pushgateway/prometheus 并删除 pushgateway 中的指标会删除 prometheus 中的相同指标。当 pushgateway 实例翻转并且 prometheus 数据被刷新时,也会发生同样的情况。

什么是在不影响普罗米修斯的情况下从推送网关中删除指标的可靠方法。

0 投票
1 回答
177 浏览

apache-flink - promethus 每次显示指标时都无法获取指标

我在独立模式下在 k8s 上部署了几个 flink,并通过一个 promethus-pushgateway 导出它们的指标。

问题是:
度量数据间歇性地到达promethus,导致在grafana中显示时点之间的间隙

点击我,显示间隙图


普罗米修斯目标:

我直接查询推送网关,但每次都无法获取所有指标

我的 flink-conf.yaml 中的配置

偶设置promethus Scrape interval metrics.reporter.promgateway.interval为1秒,无效果;

0 投票
0 回答
246 浏览

apache-spark - Spark on Yarn - Prometheus 发现

我正在尝试将火花与普罗米修斯集成。我们有 spark 2 和 spark 3。对于 spark 2,我知道我可以运行jmx_exporter。Spark 3 有一个新的内置 PrometheusServlet,非常棒。我们使用 YARN 而不是 k8s 在 prem 上运行 spark。

我的问题是如何动态发现普罗米修斯抓取目标。据我了解,没有可以指向的静态单一中央 Spark 服务器,而是每个应用程序都打包到一个纱线容器中并有自己的指标。除非有办法聚合这些指标(例如在 spark 历史服务器中)或为每个作业提供静态可预测地址?

当我提交一个火花流式长时间运行的应用程序时,我希望它的指标能够开箱即用地显示在 Prometheus 中。我知道新的 PrometheusServlet 可以使用注释对 k8s 进行自动发现,我想为 yarn 实现类似的功能。

到目前为止我发现了什么:

  • 我可以让 prometheus 抓取 pushgateway,并在运行 spark-submit 时让我的应用程序在那里发送指标。我找到了一个可以做到这一点的定制水槽。然而 pushgateway 引入了它自己的问题,所以希望避免它。
  • 使用 Prometheus文件服务发现机制在那里添加目标。但是,我如何自动执行此操作,而无需每次提交新作业时手动编辑 json 文件?我发现 prometheus 没有一个 API 来添加目标,并且在我运行 spark-submit 时编写一个可以远程更改 json 文件的作业感觉有点 hacky。

欢迎任何关于优雅解决方案的建议,谢谢!

0 投票
0 回答
217 浏览

prometheus - 为什么prometheus pushgateway会抛出400错误?

我有推送服务,它使用 pushgateway 服务推送指标。upload_telmetry{instance="123", job="node_health_status"}我最初使用 GAUGE在 prometheus 服务器中收集了指标。

upload_telmetry{instance="123", job="node_health_status"}在普罗米修斯服务器中的 GAUGE 指标数据之上,我将指标类型从 GAUGE 更改为 COUNTER 。

从 GAUGE 更改为 COUNTER 度量类型后,我收到以下 400 错误: collected metric "upload_telmetry" { label:<name:"instance" value:"123" > label:<name:"job" value:"node_health_status" > counter:<value:5226 > } is not a GAUGE

旧指标:

新指标:

0 投票
1 回答
182 浏览

basic-authentication - Pushgateway 抛出 401 - 未经授权

我正在尝试将指标推送到经过基本身份验证的推送网关。但我遇到了 401 - 未经授权

所以我安装了一个本地推送网关并配置了基本身份验证:

密码按照此处所述进行加密:https ://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md#about-bcrypt

在我的代码中,我指定了用户名和密码,如下所示:

上面的密码是加密并放入推送网关配置的密码。

此处的文档(https://github.com/prometheus/client_java#with-basic-auth)没有提及加密密码的任何内容,密码以明文形式提供。

有人可以指出我错过了什么吗?