Hi,
We use collectd with netapp plugin (using netapp-manageability-sdk) to query our filers about performance data. This worked fine until we upgraded to the latest ONTAP version 8.1.3P2 (in 7-Mode). Since the upgrade we get this error:
status="failed" errno="13001" reason="Not enough memory to get instances for wafl.Use perf-object-get-instances-iter-* calls and/or ask for specific counters to limit the amount of data retrieved"
I've tried to query the API directly via HTTPS calls (without collectd):
wget --no-proxy --post-data '<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE netapp SYSTEM "file:/etc/netapp_filer.dtd"><netapp version="1.1" xmlns="http://www.netapp.com/filer/admin"><perf-object-get-instances><objectname>wafl</objectname><counters><counter>name_cache_hit</counter></counters></perf-object-get-instances></netapp>' http://user:pass@filer/servlets/netapp.servlets.admin.XMLrequest_filer
Which results in:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE netapp SYSTEM '/na_admin/netapp_filer.dtd'>
<netapp version='1.1' xmlns='http://www.netapp.com/filer/admin'>
<results status="failed" errno="13001" reason="Not enough memory to get instances for wafl.Use perf-object-get-instances-iter-* calls and/or ask for specific counters to limit the amount of data retrieved"/></netapp>
Funny thing is, if we query <perf-object-get-instances-iter-start><objectname>wafl</objectname><counters><counter>name_cache_miss</counter></counters></perf-object-get-instance-iter-start> the output is the same, use -iter-* calls! But we used an -iter-* call!
If we query for the processors and not wafl, everything works fine:
wget --no-proxy --post-data '<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE netapp SYSTEM "file:/etc/netapp_filer.dtd"><netapp version="1.1" xmlns="http://www.netapp.com/filer/admin"><perf-object-instance-list-info><objectname>processor</objectname></perf-object-instance-list-info></netapp>' http://user:pass@filer/servlets/netapp.servlets.admin.XMLrequest_filer
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE netapp SYSTEM '/na_admin/netapp_filer.dtd'>
<netapp version='1.1' xmlns='http://www.netapp.com/filer/admin'>
<results status="passed"><instances><instance-info><name>processor0</name></instance-info><instance-info><name>processor1</name></instance-info><instance-info><name>processor2</name></instance-info><instance-info><name>processor3</name></instance-info></instances></results></netapp>
Even when querying the stats from one processor, which results in about 4k of values, works fine:
wget --no-proxy --post-data '<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE netapp SYSTEM "file:/etc/netapp_filer.dtd"><netapp version="1.1" xmlns="http://www.netapp.com/filer/admin"><perf-object-get-instances><objectname>processor</objectname></perf-object-get-instances></netapp>' http://user:pass@filer/servlets/netapp.servlets.admin.XMLrequest_filer
Anyone encountered these problems? And/or knows a solution how to get the data from the filer? For us it looks like an error in the API?
Any help would be appreciated.
Best regards,
Christoph