github NetApp/harvest v24.05.0
24.05.0

latest releases: nightly, v24.05.2, v24.05.1...
one month ago

24.05.0 / 2024-05-20 Release

πŸ“Œ Highlights of this major release include:

  • Harvest supports consistency groups (CG) in the SnapMirror dashboard. Thanks to @Nikhita-13 for reporting this.

  • We've fixed an intermittent latency/ops spike problem caused by Harvest incorrectly handling ONTAP partial aggregation. This impacted all perf objects. A big thank you to @summertony15 for reporting this critical issue.

  • Harvest dashboards are compatible with Grafana 10.x.x versions.

  • πŸ’Ž LUN, Flexgroup and cDot dashboard updated to work with FSx. Some panels are blank because FSx does not have that data.

  • The credentials script supports providing both username and password. Thanks to @kbhalaki for reporting.

  • Harvest configuration file supports reading parameters from environment variables. Kudos to @wally007 for the suggestion.

  • Harvest includes remediation steps for EMS alerts.

  • πŸ’Ž New Dashboards:

    • NFS Troubleshooting which provides links to detailed dashboards. Thanks to RustyBrown for contributing these.
    • Detailed Dashboards: Volume by SVM and Volume Deep Dive.
  • πŸš€ Performance Improvements:

    • Rest/RestPerf Collector only requests metrics defined in templates, reducing API time, payload size, and collection load.
    • TopK queries in dashboards are now faster. Thanks to AlessandroN for reporting.
  • ⭐ Several of the existing dashboards include new panels in this release:

    • Workload dashboard includes adaptive QoS used percentage tracking. Thanks to @faguayot for reporting.
    • Network dashboard includes ethernet errors. Thanks to Rusty Brown for contributing.
    • Node dashboard includes the BMC firmware version. Thanks to @summertony15 for reporting.
    • SVM dashboard now includes NFS4.2 panels. Thanks to Didlier for reporting.
    • The Volume dashboard includes several new panels:
      • Volume growth rate panels. Thanks to AlessandroN for reporting.
      • I/O density panels. Thanks to @jgasher for reporting.
      • Volume capacity forecasting panels, predicting a volume's used sized over the next 15 days. Thanks to @s-kuchi for reporting.
  • 🌾 Harvest includes a new template to collect lock counts at the node, SVM, LIF, and volume levels.. Thanks to @troysmullerna for reporting.

  • πŸ“• Documentation Additions:

    • How to customize Prometheus's retention period in a Docker deployment. Thanks to @WayneShen2 for the suggestion.
    • How to use endpoints in a REST collector template. Thanks to Hubert for reporting.
    • Harvest includes remediation steps for EMS alerts.
    • How to use confpath to extend templates.
  • Harvest supports embedded exporters in Harvest configuration. This means you can define your exporters in one place instead of multiple. Thanks to @wagneradrian92 for reporting.

  • Harvest supports exporting to multiple InfluxDB instances. Thanks to @figeac888 for reporting.

  • Node label metrics include HA partner details. Thanks to @johnwarlick for reporting.

Announcements

‼️ IMPORTANT Release 24.05 removes duplicate quota metrics. If you wish to enable them, refer here.

πŸ’‘ IMPORTANT After upgrading, don't forget to re-import your dashboards to get all the new enhancements and fixes. You can import them via the 'bin/harvest grafana import' CLI, from the Grafana UI, or from the 'Maintenance > Reset Harvest Dashboards' button in NAbox.

Known Issues

  • ⚠️ Harvest does not calculate power metrics for AFF A250 systems. This data is not available from ONTAP via ZAPI or REST. See ONTAP bug 1511476 for more details.
  • ⚠️ ONTAP does not include REST metrics for offbox_vscan_server and offbox_vscan until ONTAP 9.13.1. See ONTAP bug 1473892 for more details.

IMPORTANT 7-mode filers that are not on the latest release of ONTAP may experience TLS connection issues with errors like tls: server selected unsupported protocol version 301. This is caused by a change in Go 1.18. The default for TLS client connections was changed to TLS 1.2 in Go 1.18. Please upgrade your 7-mode filers (recommended) or set tls_min_version: tls10 in your harvest.yml poller section. See #1007 for more details.

Thanks to all the awesome contributors

🀘 A big thanks to all the people who've opened issues, asked questions on Discord, and contributed code or dashboards this release:

@BrendonA667, @Nikhita-13, @WayneShen2, @derDaywalker, @faguayot, @figeac888, @jgasher, @johnwarlick, @kbhalaki, @rdecaneva, @s-kuchi, @summertony15, @troysmullerna, @wagneradrian92, @wally007, @ybizeul, AlessandroN, Didlier, Hubert, Rusty Brow, Tamas Zsolt

🌱 This release includes 42 features, 38 bug fixes, 10 documentation, 1 performance, 6 styling, 9 refactoring, 16 miscellaneous, and 17 ci pull requests.

πŸš€ Features

  • Adding Zapi/Rest Templates For Lock-Get-Iter & Protocols/Locks (#2706)
  • Dashboards Would Work With Grafana 10.X.x (#2713)
  • Add Harvest.yml Environment Variable Expansion (#2714)
  • Metadata Dashboard Should Include Poller Rss Panels And Time Se… (#2716)
  • Harvest Should Export To Multiple Influxdb Exporters (#2722)
  • Adding Ha_partner Info In Node (#2723)
  • Improve Rest Collector (#2740)
  • Harvest Should Track Network Bytes Received And Number Of Ontap… (#2745)
  • Harvest Should Handle Ontap Counter Manager Rejection Errors (#2747)
  • Harvest Network Dashboard Should Show Ethernet Errors (#2748)
  • Changed Plugin Generated Metric Naming For Lock Object (#2750)
  • Usage Of Predict_linear Function In Volume Dashboard (#2763)
  • Improve Restperf Collector (#2765)
  • Harvest Should Include Nfs Troubleshooting Dashboards (#2766)
  • Adding Volume Growth Rate Panels In Volume Dashboard (#2768)
  • Harvest Should Reduce Batch Size And Retry When Ontap Times Out (#2770)
  • Ignore Performance Counters With Partial Aggregation (#2775)
  • Harvest Should Reduce Batch Size And Retry When Ontap Times Out (#2776)
  • Harvest Should Log When The Template Is Missing (#2779)
  • Add Instance Log For Latency Calculation (#2794)
  • Harvest Should Collect The Bmc Firmware Version (#2800)
  • Add I/O Density Panels To Volume Dashboard (#2805)
  • Reduce Dependencies (#2812)
  • Use Constrained Topk To Improve Dashboard Performance (#2825)
  • Supporting Consistency Group Drilldowns In Snapmirror Dashboard (#2830)
  • Harvest Should Include Remediation Steps For Ems Alerts (#2836)
  • Harvest Svm Dashboard Should Include Nfsv4.2 Panels (#2846)
  • Adding Description To Svm Panels (#2861)
  • Harvest Should Support Embedded Exporters (#2864)
  • Adaptive Qos Used% Tracking (#2865)
  • Credentials Script Should Support Both Username And Password (#2870)
  • Adding Panel Descriptions In All Dashboards (#2878)
  • Remove Hidden Topk Variables From Dashboards (#2881)
  • Remove Duplicate Quota Metrics (#2886)
  • Remove Hidden Topk Variables From Dashboards (#2889)
  • Adding Description To Panels (#2891)
  • Add Test Case For Join Queries In A Table (#2892)
  • Adding Details Folder In Docker (#2896)
  • Enable Request/Response Logging For Rest And Restperf Plugins (#2898)
  • Flexgroup And Lun Dashboards Work With Fsx (#2899)
  • Remove Hidden Topk From Aggregation Dashboard (#2900)
  • Cdot Dashboards Work With Fsx (#2903)

πŸ› Bug Fixes

  • Handle Inter-Cluster Snapmirrors When Different Datacenter (#2688)
  • Display Poller Status With Harvest_docker Env (#2705)
  • Sync Svm_labels With Ontap Cli For Zapi Collector (#2711)
  • Harvest Should Not Panic When A Poller Has No Config (#2718)
  • Convert Qos Adaptive Policy Configuration Ops To Tb (#2720)
  • Align Make Build Version With Prod Version (#2732)
  • Add Volume Filter For Per Volume Statistics (#2742)
  • Restperf Panics When Pollinstance Fails (#2743)
  • Storagegrid Should Honor Template Api Version (#2744)
  • Qospolicyfixed Should Ignore Missing Min-Throughput (#2754)
  • Remove Unused Error From Rest (#2758)
  • Harvest Dashboard Variables Should Use Fsx Friendly Queries Wher… (#2778)
  • Harvest Should Support Poller Names With Spaces In Their Names (#2780)
  • Restperf Ignore Performance Counters With Partial Aggregation (#2783)
  • Using Volume_total_data Instead Of Read_data And Write_data (#2786)
  • Change Diskperf Warn To Debug When Metrics Have Record False (#2796)
  • Parity Of Id Value In Disk Restperf And Zapiperf (#2807)
  • Iops Should Not Have Decimals In Dashboards (#2810)
  • Node Dashboard, Bmc Column Should Have String Unit (#2815)
  • Add Root_volume Label For Vol0 Volumes (#2816)
  • The Unix Poller Should Detect Poller Names With Spaces (#2818)
  • Add Missing Label Snapshot_autodelete To Rest Volume Template (#2822)
  • Resolve Duplicate Skip Increment (#2826)
  • Zapiperf Pollcounter Error (#2831)
  • Update Workload Templates To Use Default Schedule For Counter And Instance (#2835)
  • Fix Dashboard Sort Test (#2844)
  • Svm Cifs Total Ops Should Sum All Types Of Ops (#2853)
  • Volume Count In Datacenter Dashboard (#2854)
  • Load Cert Pool When Ca_cert Is Defined In Harvest.yml (#2855)
  • Qos Mbps Should Report With Precision (#2871)
  • Remove Duplicate Columns From Qos Adaptive Dashboard Tables (#2872)
  • Adaptive Qos Table Grafana 9 Workaround (#2873)
  • Handling Index For Quota (#2874)
  • Add Regex For Node Table (#2884)
  • Add All To Svm Dropdown In Volume Deep Dive Dashboard (#2901)
  • Add Restgap For Volume_space_logical_available (#2904)
  • Handling Missing Protection_mode In Disk Rest Call (#2905)
  • Duplicate Instance Key Issue Quota Metrics (#2913)

πŸ“• Documentation

  • Describe How To Use Confpath To Extend Templates (#2725)
  • Prometheus Retention Period Customization In Docker Instructions (#2760)
  • Update Container Faq (#2809)
  • Harvest Should Document How To Use Endpoints In Rest Collector Template (#2811)
  • Add Workload-Class As Supported Field For Workload Perf Filter (#2828)
  • Clarify Include_all_labels And Export Options (#2839)
  • Fix Latency Average Units (#2851)
  • Add Jitter Documentation (#2860)
  • Update List Of Supported Fsx Dashboards (#2906)
  • 24.05 Ontap Metric Docs (#2907)

⚑ Performance

  • Remove Visits Counter From Workload Detail Templates (#2824)

Styling

  • Remove Potential Nil Dereference (#2675)
  • Fix Spelling Error In Description (#2712)
  • Log Via Send Instead Of Msg("") (#2737)
  • Jitter Logging (#2781)
  • Improving Debug Log Clarity And Reducing Noise (#2795)
  • Reduce Log Noise When Disk Attributes Are Missing (#2798)

Refactoring

  • Use Range Over Int Go 1.22 Feature (#2684)
  • Don't Double Log Error (#2739)
  • Remove Unused Schedule In Security Account Rest Template (#2751)
  • Log With Msg Not Msgf (#2753)
  • Changed Field To Use # To Handle Counter Testcase (#2759)
  • Remove Trace Logging (#2813)
  • Fetch Constituents When Asked From Template (#2838)
  • Use Cmp.or For Envvar-Default Pattern (#2845)
  • Changed Allvalue To .* (#2887)

Miscellaneous

  • Merge Release/24.02.0 To Main (#2701)
  • Update Golang.org/X/Exp Digest To 814Bf88 (#2709)
  • Bump (#2721)
  • Update Module Github.com/Shirou/Gopsutil/V3 To V3.24.2 (#2724)
  • Update Module Github.com/Go-Openapi/Spec To V0.21.0 (#2733)
  • Update Golang.org/X/Exp Digest To C7f7c64 (#2755)
  • Update All Dependencies (#2772)
  • Use The Correct Format For .Golangci.yml (#2791)
  • Update All Dependencies (#2797)
  • Commitlint Changed File Extension (#2801)
  • Update All Dependencies (#2814)
  • Update Golang.org/X/Exp Digest To 93D18d7 (#2833)
  • Address Code Scanning Issues In Thirdparty (#2842)
  • Update Golang.org/X/Exp Digest To Fe59bbe (#2843)
  • Update All Dependencies (#2877)
  • Update Module Github.com/Zekrotja/Timedmap To V2 (#2888)

πŸ”¨ CI

  • Merge 24.02 Into Main (#2683)
  • Use Go Run To Track Tool Dependencies (#2685)
  • Run Go Mod Tidy Before Linting And Govulncheck (#2708)
  • Preallocate Slices That Can Be (#2727)
  • Bump Go (#2728)
  • Bump Dependencies (#2730)
  • Improve Lint (#2764)
  • Enable Integration Dep Updates With Renovate (#2789)
  • Move More Ci From Github Actions To Makefile (#2803)
  • Bump Go (#2808)
  • Add Flexcache To Flaky Counter List (#2817)
  • Enable More Linters (#2841)
  • Enable More Linters (#2847)
  • Enable Golanglint "Canonicalheader" Linter (#2876)
  • Bump Go (#2880)
  • Bump Dependencies (#2882)
  • Increase Golangci-Lint Timeout (#2912)

Don't miss a new harvest release

NewReleases is sending notifications on new releases.