监控
您可以通过 网站控制台 查看每个 JuiceFS 文件系统的数据大小、Inode 数量、请求量和流量。
同时,我们也提供 API 输出的监控数据(JSON 和 Prometheus 格式),方便与您已有的监控系统集成。
JSON API
JSON API 地址: https://juicefs.com/api/volume/VOLUME_NAME/status?token=YOUR_TOKEN
其中 VOLUME_NAME
是您的文件系统名字,YOUR_TOKEN
在网站控制台设置中可以看到(就是挂载时使用的 token)。
API 返回示例:
{
"files": 1234, // Inode 数量
"dns": "a.meta.juicefs.io", // 元数据服务的域名
"port": 9404, // 元数据服务使用的端口
"size": 1024000, // 数据大小
"trash_files": 100, // 回收站内的文件数量
"trash_size": 100000, // 回收站内的文件大小
// 最近两个小时有访问的客户端
"clients": [
{
// 元数据服务的各种操作次数
"operations": {
"rename": 0, // 改名
"setattr": 0, // 设置文件属性
"read": 0, // 读操作
"statfs": 0, // 文件系统统计
"wbytes": 0, // 写入数据量
"mkdir": 0, // 创建目录
"mknod": 0, // 创建文件
"symlink": 0, // 创建符号链接
"write": 0, // 写操作
"getattr": 0, // 读文件属性
"lookup": 0, // 查找文件或者目录
"rmdir": 0, // 删除目录
"rbytes": 0, // 读数据量
"link": 0, // 创建硬链接
"readlink": 0, // 读符号链接
"unlink": 0, // 删除
"open": 0, // 打开文件
"readdir": 0 // 读目录
},
// 客户端的各种操作次数
"stats": {
"uptime": 21,
"cpuusage": 356212,
"memusage": 23243000,
"fuse_ops": 179,
"fuse_ops.create": 1,
"fuse_ops.flush": 1,
"fuse_ops.getattr": 39,
"fuse_ops.getattr-cached": 7,
"fuse_ops.statfs": 60,
"fuse_ops.opendir": 2,
"fuse_ops.release": 1,
"fuse_ops.releasedir": 1,
"fuse_ops.readdir": 13,
"fuse_ops.readdir.with_attrs": 4,
"fuse_ops.lookup": 54,
"fuse_ops.lookup.master": 44,
"fuse_ops.lookup.master.positive": 2,
"fuse_ops.lookup.master.negative": 42,
"fuse_ops.lookup.internal": 2,
"fuse_ops.lookup.cached": 8,
"fuse_ops.lookup.cached.readdir": 8,
"master": 12428,
"master.usec_ping": 59166,
"master.usec_timediff": 6109,
"master.bytes_received": 3915,
"master.bytes_sent": 8210,
"master.packets_sent": 203,
"master.packets_received": 100
},
"openfiles": 0, // 当前打开文件个数
"ip": "1.2.3.4", // 客户端 IP
"hostname": "my-host", // 主机名
"version": "4.2.1", // 客户端版本
"mountpoint": "/jfs" // 挂载路径
}, // client1
// ...... 其他客户端数据
]
}
Prometheus API
JuiceFS 提供一个 API 可以直接将文件系统的访问指标导入到 Prometheus 中。
Prometheus API 地址:https://juicefs.com/api/vol/VOLUME_NAME/metrics?token=YOUR_TOKEN
其中 VOLUME_NAME
是您的文件系统名字,YOUR_TOKEN
在网站控制台设置中可以看到(就是挂载时使用的 token)。
使用时请将下面的实例添加到 Prometheus 的配置中(兼容 2.x):
scrape_configs:
- job_name: 'juicefs'
scrape_interval: 15s
scheme: 'https'
metrics_path: '/api/vol/VOLUME_NAME/metrics'
params:
token: ['YOUR_TOKEN']
static_configs:
- targets: ['juicefs.com']
我们还提供了一个 Grafana Dashboard 模板 来展现 Prometheus 中收集的 JuiceFS 的各种指标 (部分指标需要升级客户端到 4.3.3 才能生效)。
指标详细说明请查阅:JuiceFS 监控项说明。
如果您使用的不是 Prometheus,我们也提供适配不同平台的工具。目前已支持的平台有:
客户端状态统计
JuiceFS 在每个挂载点的根目录有两个文本格式的虚拟文件,记录了 JuiceFS 的一些统计和日志数据。他们分别是:
.stats
记录了对象存储各种 API 的访问计数;.oplog
记录实时的文件系统访问日志;
比如通过下面的方式可以看到对象存储的访问计数:
sudo cat /MOUNT_ENDPOINT/.stats | grep object
MOUNT_ENDPOINT
是你的 JuiceFS 挂载点。
可以看到类似下面的统计结果:
object.copy: 0
object.delete: 1469927
object.get: 543465
object.list: 3251
object.put: 2213965
object: 4230608