Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
Hi,
I am looking to collect NFS IOPS info of all the volumes/qtrees in the Clustered NetApp systems. I couldn't find the api call (command) in the NMSDK matching my requirement. Please let me know if anyone figured it out.
Solved! See The Solution
Hello!
To retrive performance information you'll want to use the "perf-object-get-instances" API call. That API has a number of inputs...to determine the values you'll want to use some other API calls...
Once you have those three things (object -> instance -> counters) you can query "perf-object-get-instances" for the actual counter values. Be sure you understand how each counter is calculated as well. When you query for the counters available for each object it will also tell you the unit and properties, which are used to calculate the value...for reference:
I wrote an article on doing clustered Data ONTAP performance monitoring using PowerShell here. The concepts are exactly the same (the cmdlets just abstract the API calls), so hopefully you will find it useful.
Hope that helps.
Andrew
Hello!
To retrive performance information you'll want to use the "perf-object-get-instances" API call. That API has a number of inputs...to determine the values you'll want to use some other API calls...
Once you have those three things (object -> instance -> counters) you can query "perf-object-get-instances" for the actual counter values. Be sure you understand how each counter is calculated as well. When you query for the counters available for each object it will also tell you the unit and properties, which are used to calculate the value...for reference:
I wrote an article on doing clustered Data ONTAP performance monitoring using PowerShell here. The concepts are exactly the same (the cmdlets just abstract the API calls), so hopefully you will find it useful.
Hope that helps.
Andrew
Andrew,
Thank you for your reply. It really helps me understand the NetApp API.
Hi Andrew,
Ran into an issue while collecting the object instance info. API doen't return anything except saying as passed. Attached is the imageof the output I am getting. Is there something I am missing?
You might want to remove the empty query from the ZAPI call...for example, this works and returns the expected values:
<netapp xmlns="http://www.netapp.com/filer/admin" version="1.30"> <perf-object-instance-list-info-iter> <objectname>volume</objectname> </perf-object-instance-list-info-iter> </netapp>
But this does not...it returns no values:
<netapp xmlns="http://www.netapp.com/filer/admin" version="1.30"> <perf-object-instance-list-info-iter> <objectname>volume</objectname> <filter-data></filter-data> <max-records>500</max-records> <tag></tag> <query> <instance-info> <name></name> <uuid></uuid> </instance-info> </query> <desired-attributes> <instance-info> <name></name> <uuid></uuid> </instance-info> </desired-attributes> </perf-object-instance-list-info-iter> </netapp>
Hope that helps.
Andrew
Andrew,
Thank you. It worked.