
Hello,
I'm trying to create an APM template on which I can alert if it is not in the "Up" status. One of the components I want to monitor is an OID that returns values such as "Healthy", "Degraded", "Failed" etc. Using the SNMP monitor wont work as its expecting a numerical value to be returned.
Universal Device Poller will get the correct data but I dont know how I can get this into the APM Template?
Any advice how to best do this will be much appreciated (I guess converting the Text to Number in powershell would work but it seems complicated for a simple task)
NPM 10.1.2 SP1
APM 4.0.2
Cheers,
Peter
Currently the APM SNMP Monitor only supports numerical statistic values. Support for string values would be a feature request that we're currently tracking as FB89035.
The Universal Device Poller in NPM already supports string values, but these can not be shown as component monitors within an application template. If you don't mind me asking, what is it that you're trying to monitor in APM using the SNMP monitor that's returning string values?
Is there any ETA on that feature request?
Some example of the current String Values I would like to monitor would be -
Riverbed Steelhead - health (1.3.6.1.4.1.17163.1.1.2.2.0)
Riverbed Steelhead - serviceStatus (1.3.6.1.4.1.17163.1.1.2.3.0)
Routing Tables etc (where I could search for a string in it to prove if a certain route was being taken etc *10.1.1.5*)
There are usually a lot more that I only face when I try to setup a monitor and the realise that I cant do it easily :(
If you're currently collecting this information via UnDP then the information is contained in the Orion SQL database. You could create a SQL Query with the SQL User Experience Monitor in APM to return a numerical status based on the string value the UnDP returns. E.G. Healthy = 0, Degraded = 1, Critical = 2. You could even return the string value captured by the UnDP in the SQL User Experience Monitor as the message value.
Granted this would require some work to write the query, but in theory it looks like it might be possible.
Sorry thought i'd replied to this.
On the same train of thought you could do a powershell script to do a SNMP query and return the same 1,2,3 etc. May help to keep down the amount of UnDP but may be harder on the device/server while polling.
Finally getting a chance to work on this now. If I use the SQL User Experience Monitor wont I have to apply the Monitor to the SQL Server and not the Node I am monitoring eg the Steelhead? As it doesnt allow me to specify the SQL Server (only the instance)?
Heres my SQL shoud anyone else want it -
Replace 'Healthy' with 'running'
Replace 'RBT-MIB:health' with 'RBT-MIB:serviceStatus'
Replace 'SteelheadName' with your Device Caption Name
SELECT [Status] = CASE WHEN CPS.[Status] = 'Healthy' THEN '0' ELSE '1' END,CPS.[Status]
FROM dbo.Nodes as N
JOIN dbo.CustomPollerAssignment as CPA
ON CPA.NodeID = N.NodeID
JOIN dbo.CustomPollers as CP
ON CPA.CustomPollerID = CP.CustomPollerID
JOIN dbo.CustomPollerStatus AS CPS
ON CPS.CustomPollerAssignmentID = CPA.CustomPollerAssignmentID
WHERE N.Caption = 'STEELHEADNAME'
AND CP.MIB = 'RBT-MIB:health'
Very nicely done PeterLyttle! Thanks for sharing.
I completely agree that something like this is needed, so add my vote. However in this case you could have used OID: 1.3.6.1.4.1.17163.1.1.2.7.0 which uses numerical data to show the same thing. The description: "Current health of the system. This variable is identical to health except that it is of integer datatype" healthy (10000), degraded (30000), admissionControl (31000), critical (50000)". I use Warning > 10000, Critical > 31000.
I also monitor Optimization Status with 1.3.6.1.4.1.17163.1.1.2.8.0, which uses numerical data, "Status of the optimization service. This variable is identical to serviceStatus except that it is of integer datatype" none (0), unmanaged (1), running (2), sentCom1 (3), sentTerm1 (4), sentTerm2 (5), sentTerm3 (6), pending (7), stopped (8)" and use != 2 for critical.
Nice, I didnt know those were the values!
Thanks
How do we add our vote/interest in FB89035
You just did!
Hopefully in the future Thwack will have an online feature voting booth but for now it's each Product Manager's responsibility to track customer feature requests for their product/s.