function guifi_rename_graphs($old, $new)
{
    $ext = array('_6.rrd', '_ping.rrd');
    $fold = variable_get('rrddb_path', '/home/comesfa/mrtg/logs/') . guifi_rrdfile($old);
    $fnew = variable_get('rrddb_path', '/home/comesfa/mrtg/logs/') . guifi_rrdfile($new);
    foreach ($ext as $fext) {
        //    print "Going to rename ".$fold.$fext." to ".$fnew.$fext."\n<br />";
        if (file_exists($fold . $fext)) {
            rename($fold . $fext, $fnew . $fext);
            //      print $fold.$fext." renamed to ".$fnew.$fext."\n<br />";
        }
    }
}
Esempio n. 2
0
/**
 * guifi_get_availability
**/
function guifi_graphs_get_pings($hostname, $start = NULL, $end = NULL)
{
    $var = array();
    $var['max_latency'] = 0;
    $var['min_latency'] = NULL;
    $var['last'] = NULL;
    $var['avg_latency'] = 0;
    $var['succeed'] = 0;
    $var['samples'] = 0;
    if ($start == NULL) {
        $start = time() - 60 * 60 * 24 * 7;
    }
    if ($end == NULL) {
        $end = time() - 300;
    }
    //  print 'Start/end: '.$start.' '.$end."\n<br />";
    $fn = variable_get('rrddb_path', '/home/comesfa/mrtg/logs/') . guifi_rrdfile($hostname) . "_ping.rrd";
    //  print $fn."\n<br />";
    if (file_exists($fn)) {
        $cmd = sprintf("%s fetch %s AVERAGE --start=%d --end=%d", variable_get('rrdtool_path', '/usr/bin/rrdtool'), $fn, $start, $end);
        //    print $cmd."\n<br />";
        $fp = popen($cmd, "r");
        if (isset($fp)) {
            while (!feof($fp)) {
                $failed = 'nan';
                $n = sscanf(fgets($fp), "%d: %f %f", $interval, $failed, $latency);
                if (is_numeric($failed) && $n == 3) {
                    $var['succeed'] += $failed;
                    $last_suceed = $failed;
                    if ($latency > 0) {
                        //            print $interval.' '.$failed.' '.$latency."\n<br />";
                        $var['avg_latency'] += $latency;
                        if ($var['max_latency'] < $latency) {
                            $var['max_latency'] = $latency;
                        }
                        if ($var['min_latency'] > $latency || $var['min_latency'] == NULL) {
                            $var['min_latency'] = $latency;
                        }
                    }
                    $var['last'] = $interval;
                    $var['samples']++;
                }
            }
        }
        pclose($fp);
    }
    if ($var['samples'] > 0) {
        $var['succeed'] = 100 - $var['succeed'] / $var['samples'];
        $var['avg_latency'] = $var['avg_latency'] / $var['samples'];
        $var['last_sample'] = date('H:i', $var['last']);
        $var['last_succeed'] = 100 - $last_suceed;
    }
    return $var;
}