#prometheus-exporter #prometheus #folder #size #exporter #prometheus-metrics #metrics-exporter

app prometheus_folder_size_exporter

Prometheus 文件夹大小导出器

7个不稳定版本

0.5.1 2023年2月22日
0.5.0 2021年3月25日
0.4.1 2021年2月4日
0.4.0 2020年12月24日
0.1.0 2019年1月28日

#15 in #prometheus-exporter

28 每月下载量

MIT 许可证

21KB
374

Prometheus 文件夹大小导出器

legal Rust

Crate cratedown cratelastdown

release commitssince

简介

这是一个用于文件夹大小的Rust Prometheus导出器。此工具导出文件夹大小信息(可选地包括每个子目录)的格式,该格式是Prometheus可以理解的。

先决条件

  • 您需要 Rust 来编译此代码。只需按照Rust网站上的说明安装工具链。如果您在编译时遇到奇怪的错误,请首先尝试更新您的Rust版本(我在 rustc 1.53.0-nightly (f82664191 2021-03-21) 上开发了它)。

编译

要编译最新版本的主分支

git clone https://github.com/MindFlavor/prometheus_folder_size_exporter.git
cd prometheus_folder_size_exporter
cargo install --path .

如果您想要最新版本,您可以使用以下命令

cargo install prometheus_folder_size_exporter

用法

使用 -h 启动二进制文件以获取完整的语法。参数如下

参数 必需 有效值 默认 描述
-v no 启用详细模式。
-p no 任何有效的端口号 9974 指定服务端口。这是Prometheus实例应指向的端口。
-i yes a valid config json file - 配置文件。此json文件详细说明如下(您可以在以下位置找到示例:example.json)。
-b no Any number > 0 Off 启用异步存储计算。该值指定计算将进行的频率(以秒为单位)。如果没有指定,则将在每个HTTP Get时同步计算值。

启动后,该工具将在指定的端口(或未指定时的默认端口9974)上监听,并在 /metrics url处返回有效的Prometheus响应。因此,要检查工具是否正常工作,请简单地浏览 https://127.0.0.1:9974(或您选择的任何端口)。

JSON配置文件

Name 有效值 描述
path Any valid path 开始分析路径。
explode_depth Any positive number or -1 This setting controls how deep the folder explosion will go. -1 means no limit. 0 means no explosion.
sum_remaining_subfolders true or false 此设置指定最后展开的文件夹大小是否应包括子文件夹。

例如,要监控单个文件夹,设置 explode_depth = 0 并根据您是否希望包括文件夹和子文件夹的总大小选择 sum_remaining_subfolders。要监控文件夹及其第一级子文件夹,指定 explode_depth = 1

Systemd服务文件

现在像往常一样将导出器添加到Prometheus导出器中。我建议将其作为服务启动。我的systemd服务文件如下所示

[Unit]
Description=Prometheus Folder size Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/prometheus_folder_size_exporter -i /etc/prometheus_folder_size_exporter.json -p 9974

[Install]
WantedBy=multi-user.target

依赖项

~17-31MB
~531K SLoC