如何使用Prometheus与Blackbox Exporter检测静态IP地址
如何使用Prometheus与Blackbox Exporter检测静态IP地址
嘿,我来帮你把这个配置捋顺!你想每30秒检测静态IP 10.0.0.5的80端口连通性,你的思路已经找对方向了,但配置里缺了几个关键细节,我帮你补全并解释清楚每个部分的作用。
首先是Blackbox Exporter的配置文件(通常命名为blackbox.yml),你原来的模块定义需要补充端口指定,同时单次检测的超时不用设成30s(那是采集间隔,不是检测超时),调整后的配置如下:
modules: http_2xx: prober: http timeout: 10s # 单次检测的超时时间,10秒足够覆盖常规HTTP检测 http: valid_http_versions: ["HTTP/1.1", "HTTP/2"] preferred_ip_protocol: "ip4" port: 80 # 明确指定要检测的80端口
接下来是Prometheus的配置文件,你需要添加一个专门的采集job,设置30秒的采集间隔,同时把目标IP和Blackbox Exporter关联起来:
scrape_configs: - job_name: 'blackbox_http_check' scrape_interval: 30s # 这就是你要的每30秒检测一次的设置 metrics_path: /probe params: module: [http_2xx] # 调用我们在Blackbox里定义的http_2xx检测模块 static_configs: - targets: - '10.0.0.5' # 这里填你要检测的静态IP地址 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 'localhost:9115' # 替换成你的Blackbox Exporter的实际地址和端口(默认是9115)
我给你解释下这段Prometheus配置里的关键部分:
scrape_interval: 30s:直接实现你要求的每30秒执行一次检测relabel_configs:这部分很重要,它会把我们指定的目标IP转换成Blackbox Exporter需要的target参数,同时把instance标签设为IP地址(方便你在Prometheus UI里识别),最后把采集地址指向Blackbox Exporter的服务地址。
最后要做的就是:
- 把调整后的Blackbox配置保存好,重启Blackbox Exporter(启动命令类似
blackbox_exporter --config.file=blackbox.yml) - 重启Prometheus加载新的采集配置
这样一来,Prometheus就会每30秒通过Blackbox Exporter检测10.0.0.5的80端口HTTP连通性了,你可以在Prometheus的Graph页面里查询probe_success指标来查看检测结果(1代表成功,0代表失败)。
备注:内容来源于stack exchange,提问作者Xavier123
相关产品推荐
相关产品推荐

