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 每月下载量
21KB
374 行
Prometheus 文件夹大小导出器
简介
这是一个用于文件夹大小的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