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

Docker部署node-exporter时node_filesystem_size_bytes指标与df查询结果不一致

问题根因

该问题是Docker部署node-exporter时的典型配置疏漏,核心原因如下:

  • 你已将宿主机根目录以只读方式挂载到容器内的/rootfs路径,但启动参数中未添加--path.rootfs=/rootfs配置项,node-exporter无法正确识别宿主机的挂载点层级,会错误将宿主机根分区的容量映射到所有未被忽略的挂载路径上,最终出现/和/home分区采集值完全一致的问题。
  • 你当前配置的--collector.filesystem.ignored-mount-points规则中额外添加了rootfs/前缀,和路径映射逻辑冲突,也会干扰挂载点的过滤规则。

修复方案

直接修改docker-compose.yml中node-exporter的启动配置即可,修改后的完整配置参考如下:

version: '3.7'
services:
  node-exporter:
    image: prom/node-exporter
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command:
      - '--path.procfs=/host/proc'
      - '--path.sysfs=/host/sys'
      # 新增宿主机根目录映射参数
      - '--path.rootfs=/rootfs'
      - '--collector.filesystem.ignored-mount-points'
      # 移除规则中的rootfs/前缀,添加rootfs参数后node-exporter会自动去掉该前缀识别挂载点
      - "^/(sys|proc|dev|host|etc|var/lib/docker/containers|var/lib/docker/overlay2|run/docker/netns|var/lib/docker/aufs)($$|/)"
    ports:
      - 9100:9100
    restart: always

  cadvisor:
    image: google/cadvisor
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    ports:
      - 18080:8080
    restart: always

验证步骤

修改配置后执行docker-compose up -d重启node-exporter容器,等待1分钟后查询node_filesystem_size_bytes指标,对比/和/home分区的数值,和宿主机执行df -h的结果完全一致即为修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:24:05