【问题标题】:Get total and free disk space using Prometheus使用 Prometheus 获取总磁盘空间和可用磁盘空间
【发布时间】:2019-12-12 21:57:01
【问题描述】:

我尝试获取 Kubernetes VM 上的 Total 和 Free 磁盘空间,以便显示占用空间的百分比。我尝试了各种指标,包括名称中的“文件系统”,但这些指标都没有显示正确的总磁盘大小。应该使用哪一个?

这是我尝试过的指标列表

node_filesystem_size_bytes
node_filesystem_avail_bytes
node:node_filesystem_usage:
node:node_filesystem_avail:
node_filesystem_files
node_filesystem_files_free
node_filesystem_free_bytes
node_filesystem_readonly

【问题讨论】:

    标签: kubernetes grafana prometheus


    【解决方案1】:

    根据kubernetes-mixin,您可以使用node:node_filesystem_usage,但如果此指标无法显示您的正确值,请确保device 设置正确。

    我强烈建议使用 Prometheus Graph 或 Graphana Explore 选项卡来检查所有可用指标。

    【讨论】:

    • 如何确保设备设置正确?使用面板“图表”并调用node:node_filesystem_usage 我只收到一条带有微小值的行。我看到了设备,但我不知道如何验证它是否正确,或者如果错误如何更改它
    • 正如您在node:node_filesystem_usage 定义中看到的那样,它需要node_filesystem_avail_bytesnode_filesystem_size_bytes,所以首先检查这些指标。
    【解决方案2】:

    根据我的 Grafana 仪表板,以下指标可以很好地提醒可用空间,

    100 - ((node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs"} * 100) / node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs"})

    该公式给出了指定磁盘上可用空间的百分比。确保在指标中包含挂载点和 fstype。

    【讨论】:

    • 使用你的方法我得到不正确的总磁盘大小 - 我知道我总共有 40Gb,但显示的是 42Gb。你能解释一下为什么会这样吗?我只是复制粘贴node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs"}
    • 你是用 10 的幂转换的吗?例如,从字节到 kb,除以 1024 是预期的,这在从字节到 Gb 时会有所不同。
    • 我指定node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs"} 以字节为单位查询
    • 那么,例如输出是什么?
    • 好的,让我们将 42 万亿数字除以 1024 得到 KB,然后再除以 1024 得到 Mb。此时我计算出 40058 mb。现在除以 1024 约为 39 GB。您可以信任此指标的输出,并将其转换为百分比通常很有用。
    【解决方案3】:

    FS 利用率可以计算为

    100 - (100 * ((node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs"} )  / (node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs"}) ))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多