You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 10:34:50