2022 Zabbix中国峰会
2022 Zabbix中国峰会

1 发现已挂载的文件系统

概述

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

要做到这一点,你可以结合使用:

  • 在master上使用agent的vfs.fs.get监控项
  • 依赖低级别发现规则和监控项原型

配置

服务端的监控项

创建一个Zabbix Agent的监控项可以使用以下key:

vfs.fs.get

可能较大的JSON数据,设置信息类型为"Text".

已挂载的文件系统,此项返回的数据将包含如下内容:

{
         "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定义自定义宏:

依赖监控项原型

在自动发现规则中创建监控项原型,类型选择"依赖项".主要项选择我们创建的vfs.fs.get.

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

  • 名称: Free disk space on {#FSNAME}, type: {#FSTYPE}
  • 键值: Free[{#FSNAME}]

信息类型的使用:

  • 数字 (正负数) 可用于这类指标 'free', 'total', 'used'
  • 浮点数 可用于这类指标 'pfree', 'pused' (percentage)

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

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

当自动发现启动,将为每个挂载点创建一个项目。该项将返回给定挂载点的空闲字节数.