我正在尝试使用 tcp_connect 模块使用黑盒导出器来探测我的 LDAP 服务器。来源是我的k8s集群。从我的集群内,我绝对可以访问 ldap 服务器
debug@debug:~$ telnet global.ldap 636
Trying 10.27.20.7...
Connected to global.ldap.
Escape character is '^]'.
^]
我的 Prometheus 配置如下
- job_name: 'ldap_check'
scrape_interval: 5m
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets:
- 'ldaps://global.ldap:636' # Also tried 'global.ldap:636' without the 'ldaps://'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: monitoring-prometheus-blackbox-exporter:9115
但是我的 Prometheus
/targets
页面显示“服务器返回 HTTP 状态 400 错误请求”
有什么我错过的吗?
为此使用 TCP 模块。
tcp_connect:
prober: tcp
timeout: 5s
像这样。 telnet 10.10.10.1 主机的 123 端口。
curl 'http://localhost:9115/probe?target=10.10.10.1:123&module=tcp_connect&debug=true'
400 Bad Request
与blackbox exporter
最可能的原因是缺少所请求的module
(在本例中为tcp_connect
)。由于 tcp_connect
是默认模块之一,我想有人修改了 blackbox.yml
配置并忘记在其中包含默认模块。
有一种方法可以运行调试查询并确定出了什么问题。只是
curl http://blackbox_exporter_ip:9115/probe
具有与 Prometheus 相同的 URL 参数加上 debug=true
。例如:
❯ curl 'http://localhost:9115/probe?debug=true&module=tcp_connect2&target=localhost:9115' -v
...
< HTTP/1.1 400 Bad Request
...
Unknown module "tcp_connect2"
试试这个:
- job_name: ldap_check
metrics_path: /probe
static_configs:
- labels:
module: tcp_connect
targets:
- global.ldap:636
relabel_configs:
...