-
1. Re: How to monitor SNMP from RHQ server or agent?
genman Sep 19, 2014 1:00 AM (in response to lhays)1 of 1 people found this helpfulI have a whole plugin library for monitoring SNMP.
It can handle things like NetScalers or whatever you can throw at it. Basically if you have a MIB you can create a plugin. I have current plans to open source it but may be a few weeks (month) until that happens.
-
2. Re: How to monitor SNMP from RHQ server or agent?
pilhuhn Sep 23, 2014 8:21 AM (in response to genman)Elias,
so you have a translator MIB -> rhq-plugin.xml? And then some base plugin (like the JMX one) that does the lifting of SNMP connections?
That sounds excellent. Looking forward to seeing that in RHQ.
Heiko
-
3. Re: Re: How to monitor SNMP from RHQ server or agent?
genman Sep 24, 2014 12:54 AM (in response to pilhuhn)Yeah.
For example, with taking the file 'fioIoDimm.mib' (Fusion/IO system) it generates XML like this... You do have to do a bit of editing, like put in the name of the service, plugins, etc but the rest works. It also helps to put in 'measurement' or 'trait' depending on the field. But from this you pretty much have something that can monitor your $15,000 solid state storage device.
<?xml version="1.0" encoding="UTF-8"?> <plugin xmlns:rhq="urn:xmlns:rhq-plugin" xmlns:c="urn:xmlns:rhq-configuration" name="short name" displayName="Longer name" description="What this does" package="com.apple.iad.rhq.snmp"> <depends plugin="snmp" useClasses="true" /> <service name="XXX TODO XXX" discovery="MibDiscovery" class="MibComponent" singleton="true" classLoader="instance"> <runs-inside> <parent-resource-type name="SNMP Component" plugin="snmp" /> </runs-inside> <plugin-configuration> <c:simple-property name="mibs" default="fioIoDimm.mib" /> </plugin-configuration> <metric property="fusionIoDimmMibRevMajor" description="Major MIB revision. This will increment when incompatible structural changes occur." displayType="detail" dataType="measurement" /> <metric property="fusionIoDimmMibRevMinor" description="Minor MIB revision. This will increment when minor additions occur." displayType="detail" dataType="measurement" /> <!--fusionIoDimmMIBCondition values: {1=other, 2=ok, 3=degraded, 4=failed}--> <metric property="fusionIoDimmMIBCondition" description="The overall MIB condition." displayType="detail" dataType="trait" /> <service name="fusionIoDimmInfoTable" discovery="MibTableDiscovery" class="MibTableComponent" singleton="false"> <metric property="fusionIoDimmInfoIndex" description="Unique index for ioDrive entries." displayType="detail" dataType="measurement" /> <!--fusionIoDimmInfoStatus values: {1=other, 2=ok, 3=degraded, 4=failed}--> <metric property="fusionIoDimmInfoStatus" description="The overall status of the ioDrive device." displayType="detail" dataType="trait" /> <metric property="fusionIoDimmInfoName" description="System control device name for this device." displayType="detail" dataType="trait" />
One neat thing is the trait values, although numbers in SNMP land, appear as strings in the RHQ UI.
There's also support in my fork of snmptrapd to decode trap OIDs. I tried to get fancy with filtering, but the main benefit is seeing the decoded values.