问题标签 [prometheus-blackbox-exporter]

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 投票
2 回答
5949 浏览

authentication - 具有端点身份验证的 Prometheus blackbox-exporter?

我对 Prometheus 很陌生,不确定如何通过身份验证 ping 端点。不确定我的问题是否可以通过内置的 prometheus 配置解决,让我描述一下我想要实现的流程:

(1) 发送带有 {username, password} 的 http POST 到 api 端点 company.com/auth

(2) 应该检索 Bearer 令牌类型的 {access_tokens, refresh_token...}

(3) 保存这个access_token 并指向其他页面。只有在 access_token 已经存在且正确的情况下,才应 ping 所有其他端点。

(4)认证后,它应该仍然以一定频率发送http请求并输出指标,就像blackbox-exporter一样。

基本上,我试图在 Postman 测试中模拟 API 调用序列的相同过程。我已经看到了 basic_auth 和 bearer_token 的 blackbox-exporter 的配置,但不确定如何实际设置参数以及如何重定向到其他页面。

在此处输入图像描述

(我应该按照(1)设置basic_auth用户名和密码吗?token在哪里返回?我应该将token替换为bearer_token吗?)

任何关于这方面的指导都会很棒!我对整个过程很陌生,如果问题太基本或模棱两可,我很抱歉。在此先感谢,非常感谢任何帮助!

0 投票
1 回答
588 浏览

prometheus - 如何使用普罗米修斯监控第三方服务,在不同的服务器上有黑盒导出器

刚开始使用 prometheus,我想它可以用来监控它是否可以通过 VPN 连接监控服务可用性。

所以我在盒子 A 上有了 prometheus 服务器本身。现在我需要监控端口 9000 上的 IP 172.20.40.40 是否可用。那是VPN另一边的盒子。我们将该服务服务器称为服务器 C。现在我的 IP 为 192.169.1.10 的盒子 B 能够访问盒子 C,因为它是加密域的一部分。我们在盒子 B 上安装了 blackbox 导出器,因此它可以检查盒子 C。

我相信普罗米修斯会从盒子 B 中获取盒子 C 的信息。以下是我的配置

黑盒配置

普罗米修斯配置

我没有在普罗米修斯文档中看到允许设置黑盒本身 IP 的部分。在黑盒文档上,黑盒配置看起来也不应该包含目标 IP。所以我有点困惑。难道是黑盒应该只在普罗米修斯所在的地方运行

0 投票
0 回答
225 浏览

metrics - Response times for successful requests only with blackbox exporter

How can I measure the response times of successful requests only when using blackbox exporter?

As far as I understand the functionality even if the return code is not in the defined "valid range", the response is used for response time metrics.

0 投票
4 回答
5057 浏览

prometheus - 探头返回零

我一直在努力理解为什么一些 HTTP 端点会为“probe_success”和“probe_http_status_code”返回“0”,同时完全能够通过 curl 获得“有效”响应。

例子:curl -s "localhost:9115/probe?target=http://linux.org&module=http_2xx" | grep -v '^#'

输出:

这是工作定义:

和模块定义:

0 投票
0 回答
784 浏览

authentication - Prometheus blackbox-exporter & bearer_token 更新

我们的 bearer_token 对 max 有效。1小时。因此,必须定期请求新令牌。

blackbox-exporter 的当前实现不允许配置和使用刷新令牌:

一个明显的解决方案是创建一个 cronjob 请求新的访问令牌 - 使用刷新令牌 - 并将其写入<filename>. 但是让 blackbox_exporter 自己处理这个不是更好吗?

是否有理由不将其作为 blackbox-exporter 的一部分实施?

0 投票
1 回答
11423 浏览

prometheus - 如何使用带有 prometheus 的 blackbox_exporter ping 目标

我正在尝试使用带有 prometheus 的 blackbox_exporter ping 一个目标列表,但我似乎只能探测 blackbox_exporters 而不是我想要检查的实际目标。

我在黑盒中找不到任何关于在哪里列出目标的文档,所以我做了一个奇怪的假设,即它使用了普罗米修斯配置中提供的目标,但据我所知,这只是让普罗米修斯相信有很多黑盒探测。

这是我的 blackbox_exporter 配置

但是,当我访问 blackbox 的 web GUI 时,配置包含一堆我没有指定的参数。

这是我的普罗米修斯配置

预期结果:在旅途中的某个地方,我预计我的目标会被 blackbox 和 prometheus 收集结果。

实际结果:Prometheus 通过 HTTP 为其目标列表中列出的每个目标发送探测请求。

0 投票
1 回答
8333 浏览

prometheus - 如何使用 blackbox_exporter 检查特定的 tcp 端口可用性?

我想检查 Oracle 数据库服务器上 tcp 端口 1521 的可用性。

但probe_success 显示0,尽管端口可用。目标不正确?

我的配置普罗米修斯。

黑盒.yml

0 投票
0 回答
903 浏览

prometheus - Prometheus avg_over_time 和除非包含太多数据

在我的一个 Grafana 仪表板上,我很想显示在检查的时间范围内(最后 12 小时)有一些停机时间的实例的所有指标。但是在没有停机的情况下过滤掉所有其他人。

我正在使用 prometheus blackbox 导出器提供的数据,我很想获得在我正在查看的时间范围内(例如 12 小时)不是 100% 可用的所有实例的 avg_over_time。

我的基本查询如下所示:

为了过滤掉所有不符合预期的东西,我尝试了某事。像这样(试图保持可读性):

但这也将包括带有实例标签的系列,这些标签没有出现在_base_qery_ < 0.95.

官方文档中,我期望这种类型的过滤

vector1 除非 vector2 产生一个由 vector1 的元素组成的向量,对于这些元素,vector2 中没有与标签集完全匹配的元素。两个向量中的所有匹配元素都被删除。

我暂时的解决方法是这个查询(其中 12 小时是我用 Grafana 观察到的完整时间范围):

但我很想让 15 分钟范围的版本正常工作。

0 投票
0 回答
1302 浏览

grafana - 使用 Prometheus/Grafana 从 healthcheck 端点解析 JSON?

http://localhost:5000/health我的应用程序提供了一个返回 JSON的端点,如下所示:

HTTP 200

如果出现错误,它会返回:

HTTP 500

此端点用作该应用程序映像HEALTHCHECK中的 Docker。Dockerfile

我可以将 Grafana 与 Prometheus 数据源一起使用来查询此端点并为每个组件显示一个带有“UP/DOWN”的状态面板吗?

我的第一个想法是使用cAdvisor,但我找不到允许提取 Docker 容器状态的指标。

0 投票
1 回答
1990 浏览

nginx - nginx-prometheus-exporter 部署失败

我正在尝试Nginx使用nginx-prometheus-exporter. 以下是我的部署

nginx-prometheus-exporter单容器 pod 可以工作,但是当我添加边车容器时失败。

也能够curl http://nginx.local.svc.cluster.local从另一个容器中运行在不同的命名空间中。

任何人都知道指定的正确方法是 -nginx.scrape-uri什么?

来自 Nginx 容器