$measure['value']) { $bytesread += $measure['value'] + 18446744073709551615 - $previous["br$index"] - $previous["br$index"]; } else { $bytesread += $measure['value'] - $previous["br$index"]; } $current["br$index"] = $measure['value']; } } $bytes = cacti_snmp_walk($host['hostname'], $host['snmp_community'], '.1.3.6.1.4.1.2021.13.15.1.1.13', $host['snmp_version'], $host['snmp_username'], $host['snmp_password'], $host['snmp_auth_protocol'], $host['snmp_priv_passphrase'], $host['snmp_priv_protocol'], $host['snmp_context'], $host['snmp_port'], $host['snmp_timeout'], $host['ping_retries'], $host['max_oids'], SNMP_POLLER, $host['snmp_engine_id']); foreach($bytes as $measure) { $parts = explode('.', $measure['oid']); $index = $parts[cacti_sizeof($parts)-1]; if (array_key_exists($index, $indexes)) { if (!isset($previous['uptime'])) { $byteswritten = 'U'; } elseif ($current['uptime'] < $previous['uptime']) { $byteswritten = 'U'; } elseif (!isset($previous["bw$index"])) { $byteswritten = 'U'; } elseif ($previous["bw$index"] > $measure['value']) { $byteswritten += $measure['value'] + 18446744073709551615 - $previous["bw$index"] - $previous["bw$index"]; } else { $byteswritten += $measure['value'] - $previous["bw$index"]; } $current["bw$index"] = $measure['value']; } } $data = "'" . json_encode($current) . "'"; shell_exec("echo $data > $tmpdir/$tmpfile"); } if ($found) { return "bytesread:$bytesread byteswritten:$byteswritten"; } else { return 'bytesread:0 byteswritten:0'; } }