ONTAP Discussions

API Returns different value in 8.2 and 8.3

BluePenguin
2,280 Views

We have upgraded from 8.2.3 to 8.3.2P6 recently

 

Since then we can no longer get the node name when making queries to the API from our monitoring tool.  

 

We use SPLUNK and this impacts our monitoring signficantly, as we can no longer get system stats.

 

Within SPLUNK the SystemPerfHandler throws a query to the target filer: https://<server>/servlets/netapp.servlets.admin.XMLrequest_filer with a the following content:

 

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE netapp SYSTEM 'file:/etc/netapp_filer.dtd'>

<netapp version="1.13" xmlns="http://www.netapp.com/filer/admin">

<perf-object-instance-list-info-iter>

<objectname>system</objectname>

<max-records>50</max-records>

<tag></tag>

</perf-object-instance-list-info-iter>

</netapp>

 

8.2.3 the query returrns

 

<?xml version='1.0' encoding='UTF-8' ?>

<!DOCTYPE netapp SYSTEM 'file:/etc/netapp_gx.dtd'>

<netapp version='1.21' xmlns='http://www.netapp.com/filer/admin'>

<results status="passed">

<attributes-list>

<instance-info>

<name>system</name>

<uuid>filer:kernel:system</uuid>

</instance-info>

<instance-info>

<name>system</name>

<uuid>filer-02:kernel:system</uuid>

</instance-info>

</attributes-list>

<num-records>2</num-records>

</results>

</netapp>

 

8.3 returns something a little different:

 

<!DOCTYPE netapp SYSTEM 'file:/etc/netapp_gx.dtd'>

<netapp version='1.32' xmlns='http://www.netapp.com/filer/admin'>

<results status="passed">

<attributes-list>

<instance-info>

<name>cluster</name>

<uuid>0ffcce89-b5e3-11e4-ba58-123478563412</uuid>

</instance-info>

</attributes-list>

<num-records>1</num-records>

</results>

</netapp>

 

What has changed and what should the query be to return each node name?

 

I have a case open with netapp and splunk, but am wondering if the wider community has come across this issue.

1 ACCEPTED SOLUTION

mbeattie
2,250 Views

Hi,

 

I think you might need to change the value of the "objectname" property in your API call to "system:node" in 8.3+.

This will ensure the API call returns each node in your cluster as it did in 8.2. EG:

 

perf_system_node.png

 

If you set "objectname" property to "system" it will just return the cluster UUID instead of the each node in the cluster as it previously did. EG:

 

perf_system.png

 

To see what objectnames are available you can call the "perf-object-list-info" API. I hope this helps?

 

/Matt

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

View solution in original post

1 REPLY 1

mbeattie
2,251 Views

Hi,

 

I think you might need to change the value of the "objectname" property in your API call to "system:node" in 8.3+.

This will ensure the API call returns each node in your cluster as it did in 8.2. EG:

 

perf_system_node.png

 

If you set "objectname" property to "system" it will just return the cluster UUID instead of the each node in the cluster as it previously did. EG:

 

perf_system.png

 

To see what objectnames are available you can call the "perf-object-list-info" API. I hope this helps?

 

/Matt

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
Public