1 发现已挂载的文件系统

概述

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

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

  • 在master上使用agent的vfs.fs.get监控项

  • 依赖低级别发现规则和监控项原型

配置

服务端的监控项

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

  1. vfs.fs.get

1 发现已挂载的文件系统 - 图1

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

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

  1. {
  2. "fsname": "/",
  3. "fstype": "rootfs",
  4. "bytes": {
  5. "total": 1000,
  6. "free": 500,
  7. "used": 500,
  8. "pfree": 50.00,
  9. "pused": 50.00
  10. },
  11. "inodes": {
  12. "total": 1000,
  13. "free": 500,
  14. "used": 500,
  15. "pfree": 50.00,
  16. "pused": 50.00
  17. }
  18. }
依赖LLD规则

创建一个低级别发现规则作为“依赖项”类型:

1 发现已挂载的文件系统 - 图2

主要项选择vfs.fs.get作为创建的监控项

在”LLD宏”选项中,用相应的JSONPath定义自定义宏:

1 发现已挂载的文件系统 - 图3

依赖监控项原型

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

1 发现已挂载的文件系统 - 图4

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

  • 名称: Free disk space on {#FSNAME}, type: {#FSTYPE}

  • 键值: Free[{#FSNAME}]

信息类型的使用:

  • 数字 (正负数) 可用于这类指标 ‘free’, ‘total’, ‘used’

  • 浮点数 可用于这类指标 ‘pfree’, ‘pused’ (percentage)

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

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

1 发现已挂载的文件系统 - 图5

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