All Projects → pdf → zfs_exporter

pdf / zfs_exporter

Licence: MIT License
Prometheus ZFS exporter

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to zfs exporter

postgres exporter
Postgres exporter
Stars: ✭ 14 (-73.08%)
Mutual labels:  prometheus, prometheus-exporter
nvidia gpu exporter
Nvidia GPU exporter for prometheus using nvidia-smi binary
Stars: ✭ 85 (+63.46%)
Mutual labels:  prometheus, prometheus-exporter
Php Fpm exporter
A prometheus exporter for PHP-FPM.
Stars: ✭ 251 (+382.69%)
Mutual labels:  prometheus, prometheus-exporter
Ssl exporter
Exports Prometheus metrics for SSL certificates
Stars: ✭ 211 (+305.77%)
Mutual labels:  prometheus, prometheus-exporter
chaos-exporter
Prometheus Exporter for Litmus Chaos Metrics
Stars: ✭ 25 (-51.92%)
Mutual labels:  prometheus, prometheus-exporter
Github Exporter
Prometheus exporter for github metrics
Stars: ✭ 231 (+344.23%)
Mutual labels:  prometheus, prometheus-exporter
wildfly exporter
A prometheus exporter for Jboss Wildfly
Stars: ✭ 19 (-63.46%)
Mutual labels:  prometheus, prometheus-exporter
Blackbox exporter
Blackbox prober exporter
Stars: ✭ 2,633 (+4963.46%)
Mutual labels:  prometheus, prometheus-exporter
hetzner exporter
Prometheus exporter for Hetzner
Stars: ✭ 16 (-69.23%)
Mutual labels:  prometheus, prometheus-exporter
freeradius exporter
FreeRADIUS Prometheus Exporter
Stars: ✭ 25 (-51.92%)
Mutual labels:  prometheus, prometheus-exporter
Oracledb exporter
Prometheus Oracle database exporter.
Stars: ✭ 209 (+301.92%)
Mutual labels:  prometheus, prometheus-exporter
github exporter
Prometheus exporter for GitHub
Stars: ✭ 21 (-59.62%)
Mutual labels:  prometheus, prometheus-exporter
Exporter exporter
A reverse proxy designed for Prometheus exporters
Stars: ✭ 194 (+273.08%)
Mutual labels:  prometheus, prometheus-exporter
Mikrotik Exporter
prometheus mikrotik device(s) exporter
Stars: ✭ 248 (+376.92%)
Mutual labels:  prometheus, prometheus-exporter
Sql exporter
Flexible SQL Exporter for Prometheus
Stars: ✭ 194 (+273.08%)
Mutual labels:  prometheus, prometheus-exporter
hcloud-pricing-exporter
A prometheus exporter for the current pricing and costs of your HCloud account
Stars: ✭ 19 (-63.46%)
Mutual labels:  prometheus, prometheus-exporter
Prometheus Pve Exporter
Exposes information gathered from Proxmox VE cluster for use by the Prometheus monitoring system
Stars: ✭ 171 (+228.85%)
Mutual labels:  prometheus, prometheus-exporter
Prometheus Es Exporter
Prometheus Elasticsearch Exporter
Stars: ✭ 184 (+253.85%)
Mutual labels:  prometheus, prometheus-exporter
pm2-prometheus-exporter
🐰 🐰 pm2 prometheus exporter
Stars: ✭ 90 (+73.08%)
Mutual labels:  prometheus, prometheus-exporter
magento2-prometheus-exporter
Simple Magento 2 Prometheus Exporter.
Stars: ✭ 40 (-23.08%)
Mutual labels:  prometheus, prometheus-exporter

ZFS Exporter

Test Release Go Report Card License

Prometheus exporter for ZFS (pools, filesystems, snapshots and volumes). Other implementations exist, however performance can be quite variable, producing occasional timeouts (and associated alerts). This exporter was built with a few features aimed at allowing users to avoid collecting more than they need to, and to ensure timeouts cannot occur, but that we eventually return useful data:

  • Pool selection - allow the user to select which pools are collected
  • Multiple collectors - allow the user to select which data types are collected (pools, filesystems, snapshots and volumes)
  • Property selection - allow the user to select which properties are collected per data type (enabling only required properties will increase collector performance, by reducing metadata queries)
  • Collection deadline and caching - if the collection duration exceeds the configured deadline, cached data from the last run will be returned for any metrics that have not yet been collected, and the current collection run will continue in the background. Collections will not run concurrently, so that when a system is running slowly, we don't compound the problem - if an existing collection is still running, cached data will be returned.

Installation

Download the latest release for your platform, and unpack it somewhere on your filesystem.

You may also build the latest version using Go v1.11 - 1.17 via go get:

go get -u github.com/pdf/zfs_exporter

Installation can also be accomplished using go install:

version=latest # or a specific version tag
go install github.com/pdf/zfs_exporter@$version

Usage

usage: zfs_exporter [<flags>]

Flags:
  -h, --help                 Show context-sensitive help (also try --help-long and --help-man).
      --collector.dataset-filesystem
                             Enable the dataset-filesystem collector (default: enabled)
      --properties.dataset-filesystem="available,logicalused,quota,referenced,used,usedbydataset,written"
                             Properties to include for the dataset-filesystem collector, comma-separated.
      --collector.dataset-snapshot
                             Enable the dataset-snapshot collector (default: disabled)
      --properties.dataset-snapshot="logicalused,referenced,used,written"
                             Properties to include for the dataset-snapshot collector, comma-separated.
      --collector.dataset-volume
                             Enable the dataset-volume collector (default: enabled)
      --properties.dataset-volume="available,logicalused,referenced,used,usedbydataset,volsize,written"
                             Properties to include for the dataset-volume collector, comma-separated.
      --collector.pool       Enable the pool collector (default: enabled)
      --properties.pool="allocated,dedupratio,fragmentation,free,freeing,health,leaked,readonly,size"
                             Properties to include for the pool collector, comma-separated.
      --web.listen-address=":9134"
                             Address on which to expose metrics and web interface.
      --web.telemetry-path="/metrics"
                             Path under which to expose metrics.
      --web.disable-exporter-metrics
                             Exclude metrics about the exporter itself (promhttp_*, process_*, go_*).
      --deadline=8s          Maximum duration that a collection should run before returning cached data. Should
                             be set to a value shorter than your scrape timeout duration. The current
                             collection run will continue and update the cache when complete (default: 8s)
      --pool=POOL ...        Name of the pool(s) to collect, repeat for multiple pools (default: all pools).
      --exclude=EXCLUDE ...  Exclude datasets/snapshots/volumes that match the provided regex (e.g.
                             '^rpool/docker/'), may be specified multiple times.
      --log.level=info       Only log messages with the given severity or above. One of: [debug, info, warn,
                             error]
      --log.format=logfmt    Output format of log messages. One of: [logfmt, json]
      --version              Show application version.

Collectors that are enabled by default can be negated by prefixing the flag with --no-*, ie:

zfs_exporter --no-collector.dataset-filesystem

Caveats

The collector may need to be run as root on some platforms (ie - Linux prior to ZFS v0.7.0).

Whilst inspiration was taken from some of the alternative ZFS collectors, metric names may not be compatible.

Alternatives

In no particular order, here are some alternative implementations:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].