1 已挂载文件系统的发现

概述

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

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

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

配置

Master 监控项

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

vfs.fs.get

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

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

{
         "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
         }
       }
依赖式LLD规则

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

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

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

依赖 监控项 原型

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

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

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

作为信息类型,使用:

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

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

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

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