Uploaded image for project: 'ZABBIX FEATURE REQUESTS'
  1. ZABBIX FEATURE REQUESTS
  2. ZBXNEXT-6847

Add CSVFS volume discovery

XMLWordPrintable

    • Icon: Change Request Change Request
    • Resolution: Unresolved
    • Icon: Trivial Trivial
    • None
    • None
    • None
    • None

      CSVFS (Cluster Shared Volumes File System) volumes are created and configured within Microsoft Windows Server failover cluster or Azure Stack HCI and mounted on nodes by the path:

      C:\ClusterStorage\Volume<IncrementalNumber>

      Such volumes cannot be correctly discovered for later use with performance counters, as for referring to the corresponding performance metrics the disk drive number is needed, however the filesystem discovery rule:

      vfs.fs.discovery

      returns only the full path and the file system type, but not the disk drive number (as seen in the example):

      vfs.fs.discovery [s|[{"{#FSNAME}":"C:","{#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed"},{"{#FSNAME}":"D:","{#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed"},{"{#FSNAME}":"E:","{#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed"},{"{#FSNAME}":"F:","{#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed"},{"{#FSNAME}":"C:\\ClusterStorage\Volume1","{#FSTYPE}":"CSVFS","{#FSDRIVETYPE}":"fixed"}]]

      The disk drive number can be obtained using the performance instance discovery rule

      perf_instance.discovery[physicaldisk]

      which returns the drive number, but in its turn lacks the filesystem type:

      perf_instance.discovery[physicaldisk] [s|[{"{#INSTANCE}":"0 C: D:"},{"{#INSTANCE}":"1 Q:"},{"{#INSTANCE}":"2"},{"{#INSTANCE}":"_Total"}]]

      In order to obtain the required performance metric we need to refer to it the following way:

      perf_counter_en[\PhysicalDisk(2)\Avg. Disk sec/Read]

      Thus it is needed to get both filesystem type and disk drive number within one discovery rule.

      Here is the required structure of the discovery rule as seen by the client (which is essentially vfs.fs.disovery appended with {#INSTANCE} taken from perf_instance.discovery):

      vfs.fs.discovery
       [s|[
       {"
      {#FSNAME}":"C:","{#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed","{#INSTANCE}":"0 C: D:"},
       {"{#FSNAME}
      ":"D:","
      {#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed","{#INSTANCE}":"0 C: D:"},
       {"{#FSNAME}":"E:","{#FSTYPE}
      ":"NTFS","
      {#FSDRIVETYPE}":"fixed","{#INSTANCE}":"2"},
       {"{#FSNAME}":"C:\\ClusterStorage
      Volume1","{#FSTYPE}":"CSVFS","{#FSDRIVETYPE}
      ":"fixed","
      {#INSTANCE}
      ":"3"},
       ]]

      Suggested community solutions declined by the client:

            zabbix.dev Zabbix Development Team
            asincovs Antons Sincovs
            Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: