Beispiel #1
0
$problem = array();
$year = date('Y');
$start = mktime(0, 0, 0, 1, 1, $year);
$wday = date('w', $start);
if ($wday == 0) {
    $wday = 7;
}
$start = $start - ($wday - 1) * 24 * 3600;
for ($i = 0; $i < 52; $i++) {
    if (($period_start = $start + 7 * 24 * 3600 * $i) > time()) {
        break;
    }
    if (($period_end = $start + 7 * 24 * 3600 * ($i + 1)) > time()) {
        $period_end = time();
    }
    $stat = calculate_service_availability($_REQUEST['serviceid'], $period_start, $period_end);
    $problem[$i] = $stat['problem'];
    $ok[$i] = $stat['ok'];
    $count_now[$i] = 1;
}
for ($i = 0; $i <= $sizeY; $i += $sizeY / 10) {
    DashedLine($im, $shiftX, $i + $shiftYup, $sizeX + $shiftX, $i + $shiftYup, $gray);
}
for ($i = 0, $period_start = $start; $i <= $sizeX; $i += $sizeX / 52, $period_start += 7 * 24 * 3600) {
    DashedLine($im, $i + $shiftX, $shiftYup, $i + $shiftX, $sizeY + $shiftYup, $gray);
    imagestringup($im, 1, $i + $shiftX - 4, $sizeY + $shiftYup + 32, date('d.M', $period_start), $black);
}
$maxY = max(max($problem), 100);
$minY = 0;
$maxX = 900;
$minX = 0;
Beispiel #2
0
     $result2 = DBselect('SELECT s.triggerid,s.serviceid ' . ' FROM services s, triggers t ' . ' WHERE s.status>0 ' . ' AND s.triggerid is not NULL ' . ' AND t.triggerid=s.triggerid ' . ' AND ' . DBcondition('t.triggerid', $available_triggers) . ' AND ' . DBin_node('s.serviceid') . ' ORDER BY s.status DESC, t.description');
     while ($row2 = DBfetch($result2)) {
         if (is_string($row['reason']) && $row['reason'] == '-') {
             $row['reason'] = new CList(null, "itservices");
         }
         if (does_service_depend_on_the_service($row["serviceid"], $row2["serviceid"])) {
             $row['reason']->AddItem(new CLink(expand_trigger_description($row2["triggerid"]), "events.php?triggerid=" . $row2["triggerid"]));
         }
     }
 }
 if ($row["showsla"] == 1) {
     $row['sla'] = new CLink(new CImg("chart_sla.php?serviceid=" . $row["serviceid"]), "report3.php?serviceid=" . $row["serviceid"] . "&year=" . date("Y"));
     $now = time(NULL);
     $period_start = $now - 7 * 24 * 3600;
     $period_end = $now;
     $stat = calculate_service_availability($row["serviceid"], $period_start, $period_end);
     if ($row["goodsla"] > $stat["ok"]) {
         $sla_style = 'red';
     } else {
         $sla_style = 'green';
     }
     $row['sla2'] = array(new CSpan(sprintf("%.2f", $row['goodsla']), 'green'), '/', new CSpan(sprintf("%.2f", $stat['ok']), $sla_style));
 } else {
     $row['sla'] = "-";
     $row['sla2'] = "-";
 }
 if (isset($services[$row['serviceid']])) {
     $services[$row['serviceid']] = array_merge($services[$row['serviceid']], $row);
 } else {
     $services[$row['serviceid']] = $row;
 }
Beispiel #3
0
            $wd = date("w", $time);
            $wd = $wd == 0 ? 6 : $wd - 1;
            return $time + ($w * 7 - $wd) * 24 * 3600;
        }
        function format_time($t)
        {
            return date("d M Y H:i", $t);
        }
        function format_time2($t)
        {
            return format_time($t);
        }
        break;
}
$table->SetHeader($header);
for ($t = $from; $t <= $to; $t++) {
    if (($start = get_time($t)) > time()) {
        break;
    }
    if (($end = get_time($t + 1)) > time()) {
        $end = time();
    }
    $stat = calculate_service_availability($service["serviceid"], $start, $end);
    $ok = new CSpan(sprintf("%dd %dh %dm", $stat["ok_time"] / (24 * 3600), $stat["ok_time"] % (24 * 3600) / 3600, $stat["ok_time"] % 3600 / 60), "off");
    $problems = new CSpan(sprintf("%dd %dh %dm", $stat["problem_time"] / (24 * 3600), $stat["problem_time"] % (24 * 3600) / 3600, $stat["problem_time"] % 3600 / 60), "on");
    $downtime = sprintf("%dd %dh %dm", $stat["downtime_time"] / (24 * 3600), $stat["downtime_time"] % (24 * 3600) / 3600, $stat["downtime_time"] % 3600 / 60);
    $percentage = new CSpan(sprintf("%2.2f%%", $stat["ok"]), "off");
    $table->AddRow(array(format_time($start), format_time2($end), $ok, $problems, $downtime, $percentage, $service["showsla"] == 1 ? new CSpan($service["goodsla"], $stat["ok"] >= $service["goodsla"] ? "off" : "on") : "-"));
}
$table->Show();
include_once "include/page_footer.php";