On this page
1 自动发现已挂载的文件系统
概述
可以发现已挂载的文件系统及其属性:
- 挂载点名称
- 文件系统类型
- 文件系统大小
- inode 统计信息
- 挂载选项
为此,您可以组合使用以下内容:
- 将
vfs.fs.getagent 监控项作为主监控项 - 从属低级别发现规则和监控项原型
配置
主监控项
使用以下 key 创建一个 Zabbix agent 监控项:
vfs.fs.get

对于可能较大的 JSON 数据,请将信息类型设置为“文本”。
此监控项返回的数据将包含已挂载文件系统的类似如下内容:
[
{
"fsname": "/",
"fstype": "ext4",
"bytes": {
"total": 249405239296,
"free": 24069537792,
"used": 212595294208,
"pfree": 10.170306,
"pused": 89.829694
},
"inodes": {
"total": 15532032,
"free": 12656665,
"used": 2875367,
"pfree": 81.487503,
"pused": 18.512497
},
"options": "rw,noatime,errors=remount-ro"
}
]
依赖型 LLD 规则
创建一个类型为 Dependent item 的低级别发现规则:

将我们创建的 vfs.fs.get 监控项选为主监控项。
在 LLD macros 选项卡中,定义带有相应 JSONPath 的自定义宏:

在 Filters 选项卡中,您可以添加一个正则表达式,仅筛选 读写 文件系统:

依赖监控项原型
在此 LLD 规则中创建一个类型为“Dependent item”的监控项原型。
将我们创建的 vfs.fs.get 监控项选为此原型的主监控项。

请注意在监控项原型名称和键值中使用自定义宏:
- Name: Free disk space on {#FSNAME}, type: {#FSTYPE}
- Key: Free[{#FSNAME}]
信息类型请使用:
- Numeric (unsigned) 用于 'free'、'total'、'used' 等指标
- Numeric (float) 用于 'pfree'、'pused'(百分比)等指标
在监控项原型的 Preprocessing 选项卡中选择 JSONPath,并将以下 JSONPath 表达式作为参数使用:
$.[?(@.fsname=='{#FSNAME}')].bytes.free.first()

当发现开始时,将为每个挂载点创建一个监控项。
此监控项将返回给定挂载点的可用字节数。