Skip to content

Conversation

@meni2029
Copy link
Contributor

General information

There is a performance issue with monitoring of NetApp Ontap Qtree.
On a large system the NetApp Ontap special agent takes more than 8 minutes to execute. Almost all of these 8 minutes are taken for collecting data for service Qtree (disabling fetch of Qtree Quotas brings it down below a minute).

The plugin can be improved by adding a filter directly in the API call.

Bug reports

NetApp Release 9.12.1P18
Checkmk 2.4.0p16

Proposed changes

The function fetch_qtree_quota() NetApp Ontap special agent is querying API endpoint /api/storage/quota/reports for the whole system without filtering. And then it excludes from the collected data all reports where type is not "tree":

if element_data["type"] != "tree":
    continue

It is much more efficient to filter for type=tree directly in the API call, so that it returns only desired records.

image

Doing that, the special agent execution on the same large NetApp system goes down from 8 minutes to 16 seconds.

On a smaller NetApp system, special agent execution time goes down from 50 seconds to 16 seconds.

References

According to ONTAP REST API reference, this filtering is available on all versions:
https://docs.netapp.com/us-en/ontap-restapi-9121/get-storage-quota-reports.html#related-ontap-commands

…ree' types

Instead of filtering after retrieving the data from the API, add the filter in the API call. This improves greatly the performance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants