Skip to main content

监控

您可以通过 Web 控制台查看每个 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 为每个文件系统暴露 Prometheus API,地址是 https://juicefs.com/api/vol/VOLUME_NAME/metrics?token=API_TOKEN(对于私有部署集群,地址需要相应修改为私有控制台地址),可以自行通过 Prometheus 配置抓取数据。

其中 VOLUME_NAME 是文件系统名字,API_TOKENAPI 专用 Token,在控制台 - 访问设置标签页下可以获取。

抓取数据的配置示范如下:

scrape_configs:
- job_name: 'juicefs'
scrape_interval: 15s
scheme: 'https'
metrics_path: '/api/vol/VOLUME_NAME/metrics'
params:
token: ['API_TOKEN']
static_configs:
- targets: ['juicefs.com']

你可以在 Grafana 中使用 JuiceFS 提供的 Grafana Dashboard 模板对监控数据进行可视化,只需在 Grafana 中使用 https://grafana.com/grafana/dashboards/20794/ 或 ID 20794 加载模板即可。

指标详细说明请查阅「JuiceFS 监控项说明」

客户端状态统计

JuiceFS 在每个挂载点的根目录有一些文本格式的虚拟文件,记录了 JuiceFS 客户端的实时统计数据和访问日志数据。详细介绍请参考「问题排查方法」文档。