跳转到主要内容

未提供项目描述

项目描述

prometheus-dirsize-exporter

PyPI version

高效导出目录大小度量。

为什么?

在提供多用户交互式计算服务(使用HPC集群或使用JupyterHub)时,了解每个用户随时间变化的家目录大小非常有帮助。然而,由于NFS经常被使用,不断地运行du会花费很长时间,消耗过多的IOPS,而我们可能并没有那么多的IOPS,这显然是不高效的。

本项目提供了一种使用预算的IOPS跟踪目录大小的办法。您可以要求它花尽可能多的时间,但不超过100 IOPS,并且它会做到这一点。我们并不一定需要非常最新的目录大小度量,所以这是可以的。

安装

从PyPI安装包

pip install prometheus-dirsize-exporter

运行

您可以从命令行启动此过程

dirsize-exporter <path-to-parent-directory> <iops-budget> <wait-time-in-minutes>

例如,要导出/home下目录的度量,每秒不超过200个I/O操作,每60分钟更新一次,您将运行

dirsize-exporter /home 200 60

您可以通过访问http://localhost:8000来检查度量。端口号可以通过--port参数控制。

记录的度量

以下度量记录了父目录所有顶级子目录

  • 总大小(以字节为单位)
  • 最后修改时间(包括所有子目录)
  • 总条目数(文件、目录和符号链接)
  • 收集此信息所需的处理时间。仅在传递了--enable-detailed-processing-time-metric标志时报告,以防止在收集时Prometheus度量存储大小的可能爆炸。此信息在除调试此导出器之外也不是特别有用,并且由于每次运行都不同,压缩效果不佳。
  • 最后更新

限制

  • 由于我们等待预算变得可用,目录内容可能在单个运行过程中发生变化,因此目录的信息可能不是立即完全正确的。
  • 因为我们没有通过时间分配IOPS,所以I/O使用是“尖峰”的 - 所有的IOPS都在一秒的开始完成,然后它就沉默了。如果您有一个大的IOPS预算,这可能会导致性能下降。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪一个,请了解更多关于 安装包 的信息。

源代码发行版

prometheus_dirsize_exporter-3.2.tar.gz (6.0 kB 查看哈希值)

上传时间 源代码

构建发行版

prometheus_dirsize_exporter-3.2-py3-none-any.whl (7.3 kB 查看哈希值)

上传时间 Python 3

由以下组织支持