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

Docker容器中query-exporter无法运行的问题排查求助

解决Docker中query-exporter与Prometheus的IPv6连通问题

1. 确认query-exporter的绑定地址

在slurmctld容器里执行命令,检查端口监听情况:
ss -tulpn | grep 8082
如果输出显示:::8082,说明query-exporter绑定了IPv6通配地址,这会导致部分场景下IPv4访问异常。

2. 调整query-exporter绑定到IPv4(最直接的解决方案)

启动query-exporter时,指定绑定IPv4的所有地址:
query-exporter --config.file=config.yaml --web.listen-address=0.0.0.0:8082
或者直接在config.yaml里添加配置段:

web:
  listen_address: "0.0.0.0:8082"

这样服务会绑定IPv4端口,Prometheus用原有IPv4地址就能正常抓取metrics。

3. 让Prometheus支持IPv6访问(如果保留query-exporter的IPv6绑定)

3.1 修改Prometheus目标配置

在prometheus.yml的targets里,把地址改成IPv6格式,比如容器的IPv6地址加端口:

scrape_configs:
  - job_name: 'query-exporter'
    static_configs:
      - targets: ['[2001:db8:1::abc]:8082']

3.2 确保Prometheus容器启用IPv6

在docker-compose.yml中,给Prometheus服务配置支持IPv6的网络:

services:
  prometheus:
    # 原有配置
    networks:
      - default
      - ipv6-net
networks:
  ipv6-net:
    enable_ipv6: true
    ipam:
      config:
        - subnet: 2001:db8:1::/64

重启Prometheus服务后,重新加载配置。

4. 验证连通性

在Prometheus容器内手动测试连通性:

  • IPv4测试:curl http://slurmctld:8082/metrics
  • IPv6测试:curl http://[<slurmctld的IPv6地址>]:8082/metrics
    如果能正常返回metrics数据,说明连通没问题,再检查Prometheus的target配置是否正确。

内容的提问来源于stack exchange,提问作者abinitio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 23:02:15