[ZBXNEXT-6847] Add CSVFS volume discovery Created: 2021 Aug 23  Updated: 2024 Aug 15

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Change Request Priority: Trivial
Reporter: Antons Sincovs Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate

 Description   

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:



 Comments   
Comment by Punster [ 2023 Jan 18 ]

Support for this would be a game changer for us.

Multiple Windows cluster with CSV 

Generated at Sat Aug 02 09:21:39 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.