-
Notifications
You must be signed in to change notification settings - Fork 40
Description
Love this project, very useful. However, the control for features (collectors and properties) are enabled/collected per dataset is very limited (coarse). I have the need for finer-grained control over what features are enabled per dataset.
It should be possible to allow for all permutations of all configuration options per each dataset. I propose the following:
-
Add flag:
--include=INCLUDE
That acts similarly (opposite) to--exclude -
Add finer-grained control over what types of datasets for which snapshots shall be collected
Instead of (or in addition to) the flag:
--collector.dataset-snapshot
Use these:
--collector.dataset-volume-snapshot
--collector.dataset-filesystem-snapshot -
Add ability to enable bookmark data collection:
Add argument:
--collector.dataset-bookmark
--collector.dataset-volume-bookmark
--collector.dataset-filesystem-bookmark -
Add ability to enable snapshot holds data collection:
Add argument:
--collector.dataset-snapshot-holds
--collector.dataset-volume-snapshot-holds
--collector.dataset-filesystem-snapshot-holds -
Add ability to selectively enable properties or collectors per zpool/dataset by:
Most importantly for the--collector.dataset-snapshot(and other snapshot/bookmark) options since snapshot/bookmark data collection is VERY expensive, you may want to limit it down to a specific set of datasets.
Add argument:
--dataset XYZ
That can be specified multiple times. any following--collector*or--properties*arguments will then only be applied to the specified dataset(s)
Also:
--includeand--excludeshould be able to be specified multiple times and behave in the same manner.
--poolshould behave in the same manner (but for pools)
or add:
--poolsshould allow comma-delimited list of pool names
e.g.
./zfs_exporter --pools bpool,rpool \
--collector.dataset-volume-snapshot --properties.dataset-snapshot="logicalused,referenced,used,written" \
--pools data --datasets "^data/my/important/dataset" \
--collector.dataset-snapshot \
--properties.datasetsnapshot="creation,logicalused,referenced,used,written,compressratio,refcompressratio" -
Also, one more thing... add the ability to query all zfs module parameters (e.g.
/sys/module/zfs/parameters/*)
This will allow for total zfs information awareness :-)