问题标签 [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.
prometheus - 如何使用 blackbox-exporter 指标计算“SLA”
我有一个检查一些 HTTP 端点的黑盒导出器。我注意到它没有使用(正确)直方图,所以我想知道为每个端点计算 SLA 的最佳方法是什么?
例如,假设我检查http://google.com,我想计算: - 我收到有效响应的次数百分比 (probe_success) - 在 X 毫秒内获取响应的次数百分比
我试过使用avg_over_time:
并除以相同指标的计数,但我知道这是错误的并且缺少某些东西
prometheus - AlertManager 停机警报,除非 429(对许多请求)HTTP 状态代码
probe_success
目前我有一个 AlertManager 配置,它只是在“ ”指标为 0时发送警报。
我不知道如何在警报规则的“ ”字段中将“ probe_http_status_code
”指标与“”指标结合起来,以防止警报在“ ”指标为 0 时触发,因为 429(对多个请求)HTTP状态码。probe_success
expr
probe_success
我试图用下面的类似问题来解决这个问题,但没有运气。
如何在 Prometheus 查询中“加入”两个指标?
" probe_success
" 和 " probe_http_status_code
" 都是 Blackbox Exporter 指标。
prometheus - 具有“probe_http_status_code”指标值的 Blackbox Exporter 警报
目前,我设置了一个简单的警报规则,它使用 Blackbox Exporter 中的“probe_success”指标在探测器关闭时发出警报,这很明显。
要求是失败请求的状态代码包含在警报中。因此,与其只说“... is down”,还应该在其中包含状态代码(“probe_http_status_code”),例如“... is down (500)”。
因为状态码是“probe_http_status_code”的值,所以我不能同时加入“probe_success”和“probe_http_status_code”的标签来得到我想要的结果。
我还读到度量值不能作为标签加入,这令人失望。 https://github.com/prometheus/prometheus/issues/2393
我也没有发现关于将 PromQL 表达式作为警报规则本身中的单独标签传递的任何其他内容。
我知道我没有放太多“你已经尝试了什么?” 这里有例子,但老实说,我到处都在尝试让这个工作正常进行,而且我没有任何可靠的“我已经尝试过”的例子”。
prometheus - 普罗米修斯 json 指标
我要监控的应用程序为运行状况检查提供了一个 api 端点,该端点以 json 中的指标进行响应。举个例子:
我已经设置了 Prometheus blackbox_exporter 来监控这个端点是否返回,200 Ok
但是我也希望获得这些指标。我了解仪器直接从应用程序导出这些数据。但是由于该应用程序已经在 json 对象中导出了我想要的内容,因此我更喜欢不维护我自己的这个软件的分支以包含检测所需的 Prometheus 库。我应该如何使用 json 中的指标?
prometheus - 如何使用黑盒导出器监控 tcp 端点的 SSL 证书
我需要监控 tcp 端点的证书过期。
我试过配置黑盒导出器来监控 tcp 端点。但遗憾的是无法达到应有的效果。
我们使用 blackbox exporter 来监控 https 端点的 ssl 证书,它工作得非常好。但是,我们希望 tcp 端点有类似的东西。
黑盒出口商:
普罗米修斯:
我们要监控这些 tcp 端点的 ssl 证书
prometheus - 如何解决 promethesus blackbox_exporter 401 错误
我想在blackbox_exporter中使用“fail_if_body_not_matches_regexp”来检测一个HTTP接口是否返回了一个字符串(这个接口是GET类型的url),但是blackbox_exporter页面的结果总是401。顺便说一下,我可以正常访问这个通过浏览器进行界面并获取结果
我想检测rabbitMQ的脑裂,但是rabbitmq_exporter无法检测到脑裂。所以我在blackbox_exporter中使用HTTP探针来做正则表达式匹配接口的结果。但是当我配置一切都完成了。我访问url“ http://10.201.5.197:9115/probe?module=http_2rabbitmq_brainSplit&target=10.201.7.209%3A15672%2Fapi%2Fnodes ”,黑框一直显示401,如下图
我的普罗米修斯 config.yaml:
我的 black_exporter config.yml:
我期望 fail_if_body_not_matches_regexp 的正则表达式匹配结果。我配置错了吗?
prometheus - Prometheus:如何使用 probe_http_duration_seconds 从黑盒导出器创建 SLI/SLO?
几天以来,我尝试基于对 http 端点的延迟创建 SLI,但没有成功。我有一个黑盒导出器和 3 天的数据。
我尝试了很多这样的事情:count_over_time(probe_http_duration_seconds{target_url="xxxx",phase="connect"}[7d] > 0.01) 我得到:二进制表达式必须只包含标量和即时向量类型”我明白错误消息是什么说但真的不明白如何获得我想要的信息。
我的平均“probe_http_duration_seconds”请求大约为 10 毫秒,所以我想计算每次,黑盒得到超过 10 毫秒的答案。假设超过 10 毫秒的请求是失败的。我需要衡量这些失败。
prometheus - Alertmanager 未向接收者发送警报
我正在使用没有docker 的prometheus ,使用blackbox exporter来探测 icmp 目标和alertmanager以在 mac 上发出警报。
我做的测试很简单,通过添加-移除网线来切换目标的连接性。使用此设置,当目标不可到达时,我可以在普罗米修斯中看到警报,并在目标可到达时清除。
我尝试接收smtp和webhook通知,但是当警报状态为“FIRING”时,两者都不起作用。
这是 alertmanager.yml
这是普罗米修斯警报及其配置和活动警报 警报的屏幕截图
我还观察到,通过将--log.level=debug添加到 prometheus 和 blackbox 有大量的日志记录活动。但同样不适用于警报管理器,因为我没有看到任何浮动日志。
此外,当警报实际上处于活动状态时,使用邮递员查询的警报管理器 api 返回空的警报数组。
这里有什么建议吗?
prometheus - 基于 DNS 查找的警报
我目前有一些基于“tcp_connect”和“http_2xx”探测器的警报规则,它们指示了非常高级别的 TCP 和 HTTP 问题,尚未针对特定警报。
每当探测器由于 DNS 查找问题而无法成功与其目标通信时,我要么收到来自“tcp_connect”的 TCP 连接警报,要么收到来自“http_2xx”的基于 HTTP 状态代码 (0) 的警报,但是这两个警报都不是真正正确的。
我想,probe_dns_lookup_time_seconds
每当 DNS 查找失败时,可能是 0,但事实并非如此,这也是合乎逻辑的。
所以我probe_http_duration_seconds{phase="resolve"}
试了一下,当 DNS 查找出现问题时,这似乎是 0,但我并不真正相信这是正确的做法。
我检查了负责 DNS 查找的代码,似乎如果出现错误或无法解析 IP,它会返回“0.0”的查找时间。
我希望我能够得到一些保证,这是这样做的正确方法,或者得到一些反馈以找到更合适的解决方案。
注意
我不是在谈论DNS服务器的DNS探测,或者我可能对DNS探测应该用于什么有误解,显然这也是一种可能性!
prometheus - blackbox exporter ssh 连接测试问题
伙计们:
我正在使用 blackbox exporter 来测试许多远程服务器的 ssh 端口 22,模块是 ssh_banner。问题是它总是为每个 ssh 测试打印一个远程服务器的日志。:
有谁知道如何在不更改 sshd 日志级别或任何 sshd 配置的情况下解决此问题。
谢谢