Skip to content

v3.0.2

Compare
Choose a tag to compare
@znerol znerol released this 05 Nov 15:59
· 33 commits to main since this release
d2dd1d8

Note, this release contains breaking changes. Please read the release notes carefully before updating.

Maintenance

Thanks a lot @resmo for stepping up as a co-maintainer.

Breaking Changes

Separate scraping of cluster and node resources

PR #180 introduced two new query parameters for the /pve endpoint allowing scrape jobs to specify which metrics are scraped:

  • cluster
  • node

The cluster query parameter governs whether cluster metrics are reported in the scrape. It defaults to 1 (cluster metrics are scraped by default). The query string cluster=0 can be used in order to disable reporting of cluster metrics.

The node query parameter specifies whether node metrics are reported from the given node. It defaults to 1 (node metrics are scraped by default). The query string node=0 can be used in order to disable reporting of node metrics.

This approach permits users to configure separate scrapes for cluster metrics (one for each cluster) and node metrics (one for each node). As a result, collection of node metrics is parallelized by prometheus automatically. Also it won't affect metrics of other nodes if one node is down.

Impact on existing deployments

The change has the following impact on existing deployments:

  • Single node systems: No effect. Scrapes will report exactly the same set of metrics as before since both, the cluster and node url parameters are enabled by default.
  • Clusters operating with --no-collector.config: No effect. Even though both, the cluster and node url parameters are enabled by default, scrapes will still report exactly the same set of metrics as before since the config collector is disabled.
  • Clusters operating without --no-collector.config (or with --collector.config): Effect depends on the scraping strategy. Node metrics are only reported for those nodes being scraped. If all nodes are scraped in a cluster, then the upgrade to 3.0.0 has no effect on the set of metrics reported.

Changes to the docker image

  • The tini binary was removed from the docker image. Use the docker --init flag instead.
  • The pve_exporter process is run as an unprivileged user by default. Use the docker --user flag to run pve_exporter as any user/group.

Changes to command line arguments

Instead of positional arguments, pve_exporter now expects a config file to be specified via --config.file= flag and a custom address/port combination by --web.listen-address address flag. Users with custom config files or listen ports may have to adapt their startup scripts, docker compose recipes or systemd units.

What's Changed

  • ci: add arm64 image build by @resmo in #175
  • ci: add dependabot by @resmo in #176
  • Bump actions/checkout from 2 to 4 by @dependabot in #177
  • Remove tini from docker image by @znerol in #179
  • Scrape /nodes endpoint from current node only by @znerol in #180
  • Remove references to develop branch by @znerol in #181
  • Run with a dedicated user in container by default by @znerol in #182
  • Use PEP440 pattern when converting repo release tags into docker image tags by @znerol in #183
  • Update changelog bump release by @znerol in #184
  • Implement pypi trusted publishing workflow by @znerol in #187
  • Python -m build requires venv (wheel gets installed in venv) by @znerol in #188
  • Use flags instead of positional arguments for config file and listen address by @znerol in #190
  • Update changelog bump release by @znerol in #191
  • Revert to deprecated way of building packages by @znerol in #193
  • Update changelog bump release by @znerol in #194
  • Specify same arguments for upload-artifact and download-artifact actions by @znerol in #196
  • Update changelog bump release by @znerol in #197

New Contributors

Full Changelog: v2.3.1...v3.0.2

What's Changed

Full Changelog: v3.0.1...v3.0.2