VMware Cloud Community
VoodooZ
Contributor
Contributor

developing SNMP based NetApp plugin

Hi,

HQ auto-detected most of our company's infrastructure by default which is impressive after trying other similar product...

The few unsupported ones are key so I'm considering developing them myself...
In this case my boss needs the various volumes and other metrics monitored on our NetApp filer...

I noticed that somebody already created a plugin but it's mostly a script which I'd rather avoid as we have the SNMP component of NetApp...

I got a skeleton netapp-plugin.xml prototype working with hardcoded OID (netapp.mib installed) but now I want to have it automatically enumerate volumes present on the filer so I won't have to change it everytime we makes changes to the filer...

I'd also like to have the filer's interfaces show up as services as in other plaforms...
do I have to simply "extend" or inherit from network-device class? (I'm a bit of a OO newbie so cope with me)...

Also, I ran in issues with plugin deployment: I created an hq-plugins folder at the same dir level as my agent and server (both using 3.1.1) folders (under /opt/hyperic) and installed the netapp-plugin.xml file in there..

when creating the netapp platform I use the agent running on the hq-server as the one to snmp queries so does that mean I avoid the plugin deployment issues? Or do I need to restart the agent too? I tried both with mixed results..

I encountered an issue where HQ wouldn't register changes to the the plugin file anymore so I removed netapp-plugin.xml and after restarting agent and server I noticed that they persisted in the Db I assume... I then found out about a bug (JIRA HHQ-342) that affected service types... but in my case plaform types are still present in the GUI...
I could just keep going with a diferent plugin name but would rather figure out how to clean that mess..

Thanks, any help is appreciated as netapp support is very important to us and would like to share with the community so everyone can benefit...

Stephane,
0 Kudos
30 Replies
VoodooZ
Contributor
Contributor

euh? A new plugin? did you forget to attach it by any chance? 🙂 I do that all the time too..

btw, what do you use to produce those xml files?

Thanks,
0 Kudos
excowboy
Virtuoso
Virtuoso

Hi Voodooz,

please forgive me. It was very early in the morning.
I'll send it to you later. I'm using a simple, but not perfect Perl script. If you're interested I can send it too

Cheers,
Mirko
0 Kudos
VoodooZ
Contributor
Contributor

No problem mate...

Yes, I'd love to get a copy of your perl script! I might need to implement some other unsupported products later so it could come in handy as a starting point...

Plus look at the output is a good learning exercise...

THanks,
0 Kudos
excowboy
Virtuoso
Virtuoso

Hi,

here you are.

With regards
Mirko
0 Kudos
Leander
Contributor
Contributor

Hi,

My apologies if I'm being daft here, but I don't quite understand how to configure the services that are in this plugin (I'm still new to Hyperic). I've added one of our netapp platforms to HQ and now I would like to add some services to it, but to no avail. This is probably because I don't know what I'm doing 😉

For instance, if I add the "aggrEntry" service, what should I enter for "snmpIndexName" and "snmpIndexValue"? I've tried al kinds of combinations, but I keep getting errors like this:

> The configuration has not been set for this resource due to : Invalid configuration:
> Error retrieving value: could not find value 'aggrIndex' in column 'aggrFlexvollist', possible values=[ vol0 <snip long list of flexvols>

I understand that the aggrEntry is an autoinventory plugin, but I'm not sure what that means in this case. Does it automatically enumerate all the aggregates in the filer, or should I point it to one specific aggregate with the abovementioned configuration properties and thus manually add every aggregate as a seperate service (which would be pretty tedious 😞 )?

Thanks for your efforts!

Leander
0 Kudos
VoodooZ
Contributor
Contributor

No worries.. I'm still a newbie too.. that's why we're here right? 🙂

The plugin is definitely not "finished" so expect problems but it should allow access to quite a few metrics....
First make sure you configure your SNMP connection info in the "configuration properties" tab as it just won't work otherwise.... (especially IP and community name... Also, I noticed that our Netapp only works with SNMP V1)..

Restart the agent after installing the .xml file in the hq-plugins folder....
Then after a few minutes everything should be auto-detected...
If not, It's because the choice of snmpindexvalue and snmpindexname are wrong..
I'm modifying mine directly in the .xml file but you can simply change them in the "configuration properties" tab for that specific service...

I usually use some form of index OID for snmpindexindex like for example for qrVEntry I used those:
<property name="snmpIndexValue" value="qrVIndex" />
<property name="snmpIndexName" value="qrVPathName" />

This way It will use familiar (human readable!) names in the resource list....

same applies to other tables... The script used to generate the xml file uses the first suggested index OID which is not always the best... Might require some fine-tuning...

Hope this helps,
0 Kudos
excowboy
Virtuoso
Virtuoso

Hi Stephane,

I sent you a private message. Did you get it ? Otherwise you could send my an email and I send you the SNMP plugin generator via E-Mail

-
Mirko
0 Kudos
VoodooZ
Contributor
Contributor

Yep. I did reply.. Sorry It took so long but I wasn't checking my private messages often and I was expecting some dialog or flashing icon to let me know...

Thanks,
0 Kudos
Leander
Contributor
Contributor

Yes, the SNMP connection works fine; the platform metrics are showing up, but the services are not. I noticed that the MIB that you attached some posts ago is actually not the latest version.
Yours is "Version 1.17.4, September 2006", while the latest on the Netapp site (and on our filers) is "Version 1.19.3, March 2007". This may have something to do with the issues I am encountering. Apparently, Netapp requires the use of a specific version of the MIB on different ONTAP software versions. We are running ONTAP 7.2.2, which requires the 1.19.3 MIB. Which version of ONTAP are you running?

For instance, in the latest version, the SYNTAX of the aggrEntry was changed from "DisplayString" to "OCTET STRING (SIZE (0..1024))". I'm no SNMP expert, but I'm guessing that it is no coincidence that I'm having problems with this specific object in Hyperic. I've attached the latest version of the Netapp MIB to this message.

On the other hand, I just tried manually adding the plexEntry service to the netapp platform. This service does not give any errors, but nothing is showing up in HQ either, while there are no differences between the plexEntry objects in the two MIB versions. I've used these configuration properties:

snmpIndexName = plexVolName
snmpIndexValue = plexIndex

I have enabled collection of all the metrics in the plexEntry service in the metric template and also set them as indicators. Any pointers are more than welcome!

Mirko, would it be possible for you to also send me a copy of your magic perl script?

Thanks,
Leander
0 Kudos
VoodooZ
Contributor
Contributor

Thanks for the heads up on the latest mib... I'll update mine with it.
Although we are running rev 7.0.6 of NetApp so I doubt it makes a bit difference unless you use the more advanced stuff..

You should still see a few services.. Enable DEBUG info in your agent's agent.properties and browse the agent.log to see what's going on...

as for the displaysting to octet string changes I doubt it would make a difference.. it's still just a string that HQ will display to describe each "services"...

Try doing an snmpwalk on your netapp manually to see if things are as expected...

Sorry I can't help more,
0 Kudos
tbaror_hyperic
Contributor
Contributor

Hello ALL,

this nice to have as plugin but comparing to the other DFM like plugin i got tons of metrics
that i am not familiar with the other one (DFM) is very simple and i can get the only important info for the netapp health.
but still i prefer to collect status health via snmp.
its will be nice if someone could point the only snmp metrics equivalent to the DFM or what's most important to collect to get netapp health status.
please advice
Thanks
0 Kudos