pdf / zfs_exporter

Prometheus ZFS exporter
MIT License
168 stars 32 forks source link

Get additional ZFS properties #43

Open rkelley-psna opened 3 months ago

rkelley-psna commented 3 months ago

It is possible to add a few more ZFS properties to the zfs_dataset.go file? In particular:

Thank you.

pdf commented 3 months ago

What's your use-case for the additional text fields? I'm hesitant to add labels for the sake of it, unless they're useful for querying metrics.

rkelley-psna commented 3 months ago

Thanks for the quick reply. We run a number of ZFS servers each with lots of datasets - and each dataset with various options (recordsize, mountpoint, compression type, etc). We would like to visualize this data via a table in Grafana so our admin team can quickly identify performance issues and misconfiguration issues between our servers.

As an example, here is the output from a custom python script that shows this data:

ZFS Dataset Detail: export/test3
===========================================================
   Attribute                Value
===========================================================
   Mount Point              /export/test3
   Logical space used       42K
   Real space used          96K
   Compression Ratio        1.00x
   Compression Type         zstd
   Dataset Space Available  48.0G
   Record Size              1M
   Primary Cache type       all
   Secondary Cache type     all
   atime:                   on
   relatime:                off
   xattr:                   on
   Log Bias                 latency
   Reservation              none
   Quota                    none

ZFS Dataset Detail: export/test4
===========================================================
   Attribute                Value
===========================================================
   Mount Point              /export/test4
   Logical space used       42K
   Real space used          96K
   Compression Ratio        1.00x
   Compression Type         off
   Dataset Space Available  48.0G
   Record Size              1M
   Primary Cache type       all
   Secondary Cache type     all
   atime:                   on
   relatime:                off
   xattr:                   on
   Log Bias                 latency
   Reservation              none
   Quota                    none

While I am not a go programmer, I can probably make the changes to a local copy of the zfs_exporter git repo and compile a new binary. But, I thought this would be useful properties for other people as well.