问题标签 [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.
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吗?)
任何关于这方面的指导都会很棒!我对整个过程很陌生,如果问题太基本或模棱两可,我很抱歉。在此先感谢,非常感谢任何帮助!
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。所以我有点困惑。难道是黑盒应该只在普罗米修斯所在的地方运行
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.
prometheus - 探头返回零
我一直在努力理解为什么一些 HTTP 端点会为“probe_success”和“probe_http_status_code”返回“0”,同时完全能够通过 curl 获得“有效”响应。
例子:curl -s "localhost:9115/probe?target=http://linux.org&module=http_2xx" | grep -v '^#'
输出:
这是工作定义:
和模块定义:
authentication - Prometheus blackbox-exporter & bearer_token 更新
我们的 bearer_token 对 max 有效。1小时。因此,必须定期请求新令牌。
blackbox-exporter 的当前实现不允许配置和使用刷新令牌:
一个明显的解决方案是创建一个 cronjob 请求新的访问令牌 - 使用刷新令牌 - 并将其写入<filename>
. 但是让 blackbox_exporter 自己处理这个不是更好吗?
是否有理由不将其作为 blackbox-exporter 的一部分实施?
prometheus - 如何使用带有 prometheus 的 blackbox_exporter ping 目标
我正在尝试使用带有 prometheus 的 blackbox_exporter ping 一个目标列表,但我似乎只能探测 blackbox_exporters 而不是我想要检查的实际目标。
我在黑盒中找不到任何关于在哪里列出目标的文档,所以我做了一个奇怪的假设,即它使用了普罗米修斯配置中提供的目标,但据我所知,这只是让普罗米修斯相信有很多黑盒探测。
这是我的 blackbox_exporter 配置
但是,当我访问 blackbox 的 web GUI 时,配置包含一堆我没有指定的参数。
这是我的普罗米修斯配置
预期结果:在旅途中的某个地方,我预计我的目标会被 blackbox 和 prometheus 收集结果。
实际结果:Prometheus 通过 HTTP 为其目标列表中列出的每个目标发送探测请求。
prometheus - 如何使用 blackbox_exporter 检查特定的 tcp 端口可用性?
我想检查 Oracle 数据库服务器上 tcp 端口 1521 的可用性。
但probe_success 显示0,尽管端口可用。目标不正确?
我的配置普罗米修斯。
黑盒.yml
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 分钟范围的版本正常工作。
grafana - 使用 Prometheus/Grafana 从 healthcheck 端点解析 JSON?
http://localhost:5000/health
我的应用程序提供了一个返回 JSON的端点,如下所示:
HTTP 200
如果出现错误,它会返回:
HTTP 500
此端点用作该应用程序映像HEALTHCHECK
中的 Docker。Dockerfile
我可以将 Grafana 与 Prometheus 数据源一起使用来查询此端点并为每个组件显示一个带有“UP/DOWN”的状态面板吗?
我的第一个想法是使用cAdvisor
,但我找不到允许提取 Docker 容器状态的指标。
nginx - nginx-prometheus-exporter 部署失败
我正在尝试Nginx
使用nginx-prometheus-exporter
. 以下是我的部署
nginx-prometheus-exporter
单容器 pod 可以工作,但是当我添加边车容器时失败。
也能够curl http://nginx.local.svc.cluster.local
从另一个容器中运行在不同的命名空间中。
任何人都知道指定的正确方法是 -nginx.scrape-uri
什么?
来自 Nginx 容器