[comment]: # ({5067cf1d-5067cf1d})
# 1 已挂载文件系统的发现

[comment]: # ({/5067cf1d-5067cf1d})

[comment]: # ({5feb9db1-fe14cbff})
#### 概述

可以自动发现已挂载的文件系统及其属性
(挂载点名称、文件系统类型、文件系统大小和inode
统计信息).

为此，您可以使用以下组合:

-   将`vfs.fs.get` agent 监控项作为主监控项
-   依赖的低级发现规则和监控项原型

[comment]: # ({/5feb9db1-fe14cbff})

[comment]: # ({5d32b87c-5d32b87c})
#### 配置

[comment]: # ({/5d32b87c-5d32b87c})

[comment]: # ({194f3d7a-194f3d7a})
##### Master 监控项

使用以下键创建一个Zabbix agent 监控项:

    vfs.fs.get

![](../../../../../assets/en/manual/discovery/low_level_discovery/fs_get_item.png)

将信息类型设置为"Text"以处理可能较大的JSON数据。

该监控项返回的数据将包含类似以下挂载文件系统的内容:

```{.java}
{
  "fsname": "/",
  "fstype": "rootfs",
  "bytes": {
    "total": 1000,
    "free": 500,
    "used": 500,
    "pfree": 50.00,
    "pused": 50.00
  },
  "inodes": {
    "total": 1000,
    "free": 500,
    "used": 500,
    "pfree": 50.00,
    "pused": 50.00
  }
}
```

[comment]: # ({/194f3d7a-194f3d7a})

[comment]: # ({c379fb62-c379fb62})
##### 依赖式LLD规则

创建一个类型为"依赖监控项"的低级发现规则:

![](../../../../../assets/en/manual/discovery/low_level_discovery/fs_get_lld.png)

在主监控项中选择我们创建的`vfs.fs.get` 监控项.

在"LLD宏"标签页中定义带有对应JSONPath的自定义宏:

![](../../../../../assets/en/manual/discovery/low_level_discovery/fs_get_lld_b.png)

[comment]: # ({/c379fb62-c379fb62})

[comment]: # ({2011da1c-2011da1c})
##### 依赖 监控项 原型

在此LLD规则中创建一个类型为"依赖项监控项"的监控项原型
此原型的主监控项选择我们创建的`vfs.fs.get` 监控项

![](../../../../../assets/en/manual/discovery/low_level_discovery/fs_get_prototype.png)

注意在监控项原型名称和键中使用自定义宏:

-   *名称*: {\#FSNAME}上的空闲磁盘空间, 类型: {\#FSTYPE}
-   *Key*: Free\[{\#FSNAME}\]

作为信息类型，使用：

-   *数值型（无符号）* 适用于诸如'空闲'、'总量'等指标，'使用率'
-   *数值型 (float)* 适用于诸如 'pfree'、'pused'（百分比）等指标

在监控项原型机的"预处理"选项卡中选择JSONPath并使用
以下JSONPath表达式作为参数:

    $.[?(@.fsname=='{#FSNAME}')].bytes.free.first()

![](../../../../../assets/en/manual/discovery/low_level_discovery/fs_get_prototype_b.png)

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

[comment]: # ({/2011da1c-2011da1c})
