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:
--include and --exclude should be able to be specified multiple times and behave in the same manner.
--pool should behave in the same manner (but for pools)
or add:
--pools should 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 :-)
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=INCLUDEThat acts similarly (opposite) to
--excludeAdd finer-grained control over what types of datasets for which snapshots shall be collected
Instead of (or in addition to) the flag:
--collector.dataset-snapshotUse these:
--collector.dataset-volume-snapshot--collector.dataset-filesystem-snapshotAdd ability to enable bookmark data collection:
Add argument:
--collector.dataset-bookmark--collector.dataset-volume-bookmark--collector.dataset-filesystem-bookmarkAdd ability to enable snapshot holds data collection:
Add argument:
--collector.dataset-snapshot-holds--collector.dataset-volume-snapshot-holds--collector.dataset-filesystem-snapshot-holdsAdd 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 XYZThat 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 namese.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 :-)