How to monitor sysUpTime via SNMP?

Started by Lukas, September 27, 2013, 11:39:24 AM

Previous topic - Next topic

Lukas

Hello,
I am trying to find an optimal way to monitor sysUpTime (OID: .1.3.6.1.2.1.1.3.0) and hrSystemUptime (OID: .1.3.6.1.2.1.25.1.1.0). Both values are timeticks which is not supported type for DCI so I ended up with two following solutions, each with certain drawbacks.

Solution 1 - see the human readable value but no graph
1. Create DCI Internal/Dummy - type String
2. Add transformation script:

transport = CreateSNMPTransport($node);
if (transport == null)
{
  trace(1,"Snmp transport error on ".$node->ipAddr);
  return -1;
}

uptime = SNMPGetValue(transport, ".1.3.6.1.2.1.1.3.0");
if (uptime != null)
{
  // return uptime/100; // in seconds as float
  // return uptime/8640000 // in days as float
  return SecondsToUptime(uptime/100); // readable format
}
else
{
  trace(1,"Could not read uptime value for ".$node->ipAddr);
  return -1;
}


Solution 2 - graph in days, but no easily readable output
Same as above, only change the value type to Floating point and uncomment required line in the script.

Does anybody have a better way for monitoring uptime or Timeticks SNMP values in general so there is both human readable and graphical output?

Regards,
Lukas