14 块设备的发现

以与发现file systems类似的方式,也可以发现块设备及其类型。

监控项键

发现规则 中使用的 监控项 为:

vfs.dev.discovery

此 监控项 仅在 Linux 平台上受支持。

您可以使用此发现 监控项 创建 create 发现规则,并结合以下过滤器:

  • 过滤器:{#DEVNAME} 匹配 sd[\D]$ - 用于发现名为 "sd0"、"sd1"、"sd2" 等的设备
  • 过滤器:{#DEVTYPE} 匹配 disk 且 {#DEVNAME} 不匹配 ^loop.* - 用于发现设备类型为磁盘且名称不以 "loop" 开头的设备

支持的宏

此自动发现键返回两个宏 - {#DEVNAME} 和 {#DEVTYPE},分别标识块设备的名称和类型,例如:

[ 
          { 
             "{#DEVNAME}":"loop1",
             "{#DEVTYPE}":"disk"
          },
          { 
             "{#DEVNAME}":"dm-0",
             "{#DEVTYPE}":"disk"
          },
          { 
             "{#DEVNAME}":"sda",
             "{#DEVTYPE}":"disk"
          },
          { 
             "{#DEVNAME}":"sda1",
             "{#DEVTYPE}":"partition"
          }
       ]

块设备自动发现允许使用 vfs.dev.read[]vfs.dev.write[] 监控项 来对 {#DEVNAME} 宏对应的设备进行 create 监控项原型,例如:

  • "vfs.dev.read[{#DEVNAME},sps]"
  • "vfs.dev.write[{#DEVNAME},sps]"

{#DEVTYPE} 用于设备过滤。