Change Log
21.05.3 / 2021-06-28
This release introduces a significantly simplified way to connect Harvest and Prometheus, containerization enchantments, improved Harvest build times by 7x, reduced executable sizes by 3x, enabled cross compiling support, and several dashboard and other fixes.
🎉 Thanks especially to @hashi825, @mamoep, @matejzero, and @florianmulatz for opening issues and pitching in to help fix them this release.
Known Issues
On RHEL and Debian, the example Unix collector does not work at the moment due to the harvest
user lacking permissions to read the /proc
filesystem. See #249 for details.
Enhancements
-
Create Prometheus port range exporter that allows you to connect multiple pollers to Prometheus without needing to specify a port-per-poller. This makes it much easier to connect Prometheus and Harvest; especially helpful when you're monitoring many clusters #172
-
Improve Harvest build times by 7x and reduce executable sizes by 3x #100
-
Improve containerization with the addition of a poller-per-container Dockerfile. Create a new subcommand
harvest generate docker
which generates adocker-compose.yml
file for all pollers defined in your config -
Improve systemd integration by using instantiated units for each poller and a harvest target to tie them together. Create a new subcommand
harvest generate systemd
which generates a Harvest systemd target for all pollers defined in your config #systemd -
Harvest doctor checks that all Prometheus exporters specify a unique port #118
-
Harvest doctor warns when an unknown exporter type is specified (likely a spelling error) #118
-
bin/zapi
uses the--config
command line option to read the harvest config file. This brings this tool inline with other Harvest tools. This makes it easier to switch between multiple sets of harvest.yml files. -
Harvest no longer writes pidfiles; simplifying management code and install #159
Fixes
-
Ensure that the Prometheus exporter does not create duplicate labels #132
-
Ensure that the Prometheus exporter includes
HELP
andTYPE
metatags when requested. Some tools require these #104 -
Disk status should return zero for a failed disk and one for a healthy disk. Thanks to @hashi825 for reporting and fixing #182
-
Lun info should be collected by Harvest. Thanks to @hashi825 for reporting and fixing #230
-
Grafana dashboard units, typo, and filtering fixes. Thanks to @mamoep, @matejzero, and @florianmulatz for reporting these 🎉 #184 #186 #190 #192 #195 #202
-
Unix collector should not panic when harvest.yml is changed #160
-
Reduce log noise about poller lagging behind by few milliseconds. Thanks @hashi825 #214
-
Don't assume debug when foregrounding the poller process. Thanks to @florianmulatz for reporting. #246
-
Improve Docker all-in-one-container argument handling and simplify building in air gapped environments. Thanks to @optiz0r for reporting these issues and creating fixes. #166 #167 #168