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

是否有人为Prometheus提取`docker system df -v`数据或处理其输出监控Docker本地卷?

监控Docker本地卷磁盘使用的可行方案
  • 优先用--format输出JSON格式,降低处理难度:
    直接执行以下命令,将docker system df -v的输出转为结构化JSON,不管是用Node.js编写exporter还是用文本工具处理都更高效:

    docker system df -v --format '{{json .}}'
    
  • 用awk处理纯文本输出提取指标:
    如果偏好文本处理工具,可以用awk脚本提取卷名、已用空间和总容量,生成Prometheus兼容的指标格式。示例脚本如下:

    # 定位到本地卷使用情况的区块
    /Local Volumes space usage/{flag=1; next}
    # 遇到分隔线时停止处理
    flag && /^-{5}/{flag=0}
    # 提取有效行的指标
    flag && NF>0 {
        split($3, used, "/")
        # 移除单位并转换为字节(默认处理GB,MB需额外调整)
        gsub(/GB/, "", used[1])
        gsub(/GB/, "", $4)
        printf "docker_volume_used_bytes{name=\"%s\"} %.0f\n", $1, used[1] * 1024^3
        printf "docker_volume_total_bytes{name=\"%s\"} %.0f\n", $1, $4 * 1024^3
    }
    

    将脚本保存为extract_docker_volumes.awk,执行命令即可输出指标:

    docker system df -v | awk -f extract_docker_volumes.awk
    
  • 基于该输出构建Node Exporter的思路完全可行:
    可以用Node.js编写一个轻量服务,定时调用docker system df -v --format '{{json .}}',通过child_process模块执行命令并解析JSON输出,然后将数据拼接为Prometheus指标格式,暴露一个HTTP端口供Prometheus抓取。这种方式无需依赖额外工具,灵活性高。

内容的提问来源于stack exchange,提问作者Alan G Dixon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 18:30:12