Skip to content

Feature Request: Allow for all permutations of configurations per each dataset #19

@helamonster

Description

@helamonster

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 :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions