34 lines
918 B
PHP
34 lines
918 B
PHP
<?php
|
|
/**
|
|
* Observium
|
|
*
|
|
* This file is part of Observium.
|
|
*
|
|
* @package observium
|
|
* @subpackage poller
|
|
* @copyright (C) Adam Armstrong
|
|
*
|
|
*/
|
|
|
|
// Derp poller for UCD-SNMP-MIB for counter. It's IDLE
|
|
|
|
if (isset($oid_cache[$processor['processor_oid']])) {
|
|
$proc = $oid_cache[$processor['processor_oid']];
|
|
} elseif ($processor['processor_polled'] &&
|
|
$idle_last = get_entity_attrib('processor', $processor['processor_id'], 'value-raw')) { // get last counter value
|
|
|
|
$idle = snmp_get_oid($device, 'ssCpuRawIdle.0', 'UCD-SNMP-MIB');
|
|
$proc_polled = snmp_endtime();
|
|
|
|
// Calculate idle for counter from previous value
|
|
$proc = float_div($idle - $idle_last, $proc_polled - $processor['processor_polled']);
|
|
|
|
// store raw value for next poll
|
|
set_entity_attrib('processor', $processor['processor_id'], 'value-raw', $idle);
|
|
} else {
|
|
// In case of error
|
|
$proc = 100;
|
|
}
|
|
|
|
// EOF
|