Antennipasi
2009-01-03 55eb00b8e324e18c7a4699ebcc42f37c7eef704b
interface/web/monitor/show_sys_state.php
@@ -48,23 +48,48 @@
$app->tpl->newTemplate("form.tpl.htm");
$app->tpl->setInclude('content_tpl','templates/show_sys_state.htm');
/* Get some translations */
$monTransRefreshsq = $app->lng("monitor_settings_refreshsq_txt");
/*
 * setting the content
 */
if ($_GET['state'] == 'server')
{
    $output = _getServerState($_SESSION['monitor']['server_id'], $_SESSION['monitor']['server_name'], true);
    $title = "Server State";
    $title = $app->lng("monitor_general_serverstate_txt");
    $stateType = 'server';
}
else
{
    $output = _getSysState();
    $title = "System State";
    $title = $app->lng("monitor_general_systemstate_txt");
    $stateType = 'system';
}
$app->tpl->setVar("state_data",$output);
$app->tpl->setVar("state_type",$stateType);
$app->tpl->setVar("title",$title);
$app->tpl->setVar("description",$description);
$app->tpl->setVar("monTransRefreshsq", $monTransRefreshsq);
/*
 Creating the array with the refresh intervals
 Attention: the core-module ist triggered every 5 minutes,
            so reload every 2 minutes is impossible!
*/
$refresh = (isset($_GET["refresh"]))?intval($_GET["refresh"]):0;
$refresh_values = array('0' => '- '.$app->lng("No Refresh").' -','5' => '5 '.$app->lng("minutes"),'10' => '10 '.$app->lng("minutes"),'15' => '15 '.$app->lng("minutes"),'30' => '30 '.$app->lng("minutes"),'60' => '60 '.$app->lng("minutes"));
$tmp = '';
foreach($refresh_values as $key => $val) {
   if($key == $refresh) {
      $tmp .= "<option value='$key' SELECTED>$val</option>";
   } else {
      $tmp .= "<option value='$key'>$val</option>";
   }
}
$app->tpl->setVar("refresh",$tmp);
/*
 * doing the output
@@ -118,18 +143,19 @@
        _processDbState($record['type'], $serverId, &$serverState, &$messages);
    }
    $res .= '<div class="systemmonitor-state systemmonitor-state-' . $serverState . '">';
    $res .= '<div class="systemmonitor-serverstate">';
    $res .= '<div class="systemmonitor-state-' . $serverState . '-icon">';
    $res .= 'Server: ' . $serverName . '<br />';
    $res .= 'State: ' . $serverState . '<br />';
    $res .= '<div class="systemmonitor-state state-'.$serverState.'">';
    $res .= '<div class="systemmonitor-device device-server">';
    $res .= '<div class="systemmonitor-content icons32 ico-'.$serverState.'">';
    $res .= $app->lng("monitor_serverstate_server_txt") . ': ' . $serverName . '<br />';
    $res .= $app->lng("monitor_serverstate_state_txt") . ': ' . $serverState . '<br />';
    //        $res .= sizeof($messages['ok']) . ' ok | ';
    $res .= sizeof($messages['unknown']) . ' unknown | ';
    $res .= sizeof($messages['info']) . ' info | ';
    $res .= sizeof($messages['warning']) . ' warning | ';
    $res .= sizeof($messages['critical']) . ' critical | ';
    $res .= sizeof($messages['error']) . ' error <br />';
    $res .= sizeof($messages['unknown']) . ' ' . $app->lng("monitor_serverstate_unknown_txt") . ' | ';
    $res .= sizeof($messages['info']) . ' ' . $app->lng("monitor_serverstate_info_txt") . ' | ';
    $res .= sizeof($messages['warning']) . ' ' . $app->lng("monitor_serverstate_warning_txt") . ' | ';
    $res .= sizeof($messages['critical']) . ' ' . $app->lng("monitor_serverstate_critical_txt") . ' | ';
    $res .= sizeof($messages['error']) . ' ' . $app->lng("monitor_serverstate_error_txt") . '<br />';
    $res .= '<br />';
    if ($showAll){
        /*
         * if we have to show all, then we do it...
@@ -142,7 +168,7 @@
            /*
             * There is no need, to show the "ok" - messages
             */
            if ($key != 'ok')
//            if ($key != 'ok')
            {
                $res .= $key . ':<br />';
                foreach ($state as $msg)
@@ -158,7 +184,7 @@
        /*
         * if not, we only show a link to the server...
         */
        $res .= "<a href='#' onclick='loadContent(\"monitor/show_sys_state.php?state=server&server=" . $serverId . '|' . $serverName . "\");'> More information...</a>";
        $res .= "<a href='#' onclick='loadContent(\"monitor/show_sys_state.php?state=server&server=" . $serverId . '|' . $serverName . "\");'>" . $app->lng("monitor_serverstate_moreinfo_txt") . "</a>";
    }
    $res .= '</div>';
    $res .= '</div>';
@@ -168,9 +194,9 @@
        /*
         * Show some state-info
         */
        $res .= showServerLoad();
        $res .= '&nbsp;'. showDiskUsage();
        $res .= '&nbsp;'.showServices();
        //$res .= showServerLoad();
        //$res .= '&nbsp;'. showDiskUsage();
        //$res .= '&nbsp;'.showServices();
    }
@@ -278,12 +304,131 @@
                break;
        }
    }
    if ($type == 'system_update'){
        switch ($record['state']) {
            case 'ok':
                $messages['ok'][] = 'Your System is up to date. ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[more...]</a>";
                break;
            case 'warning':
                $messages['warning'][] = 'One or more Components needs a update ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[more...]</a>";
                break;
            case 'no_state':
                /*
                 *  not debian and not Ubuntu, so the state could not be monitored...
                 */
                break;
            default:
                $messages['unknown'][] = 'System-Update:??? ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[more...]</a>";
                break;
        }
    }
    if ($type == 'raid_state'){
        switch ($record['state']) {
            case 'ok':
                $messages['ok'][] = 'Your RAID is ok ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[more...]</a>";
                break;
            case 'info':
                $messages['info'][] = 'Your RAID is in RESYNC mode ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[more...]</a>";
                break;
            case 'critical':
                $messages['critical'][] = 'Your RAID has one FAULT disk. Replace as soon as possible! '.
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[more...]</a>";
                break;
            case 'error':
                $messages['error'][] = 'Your RAID is not working anymore ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[more...]</a>";
                break;
            case 'no_state':
                /*
                 *  mdadm is not installed or the RAID is not supported...
                 */
                break;
            default:
                $messages['unknown'][] = 'RAID state: ??? ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[more...]</a>";
                break;
        }
    }
    if ($type == 'mailq'){
        switch ($record['state']) {
            case 'ok':
                $messages['ok'][] = 'Your Mailq load is ok ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[more...]</a>";
                break;
            case 'info':
                $messages['info'][] = 'Your Mailq in under heavy load ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[more...]</a>";
                break;
            case 'warning':
                $messages['warning'][] = 'Your Mailq in under high load ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[more...]</a>";
                break;
            case 'critical':
                $messages['critical'][] = 'Your Mailq in under higher load ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[more...]</a>";
                break;
            case 'error':
                $messages['error'][] = 'Your Mailq in under highest load ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[more...]</a>";
                break;
            default:
                $messages['unknown'][] = 'Mailq: ??? ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[more...]</a>";
                break;
        }
    }
   if ($type == 'sys_log'){
      switch ($record['state']) {
         case 'ok':
                $messages['ok'][] = 'The System-Log is O.K. ' .
                                    "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[more...]</a>";
                break;
            case 'warning':
                $messages['warning'][] = 'There are some warnings in your System-Log ' .
                                    "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[more...]</a>";
                break;
            case 'error':
                $messages['error'][] = 'There are errors in your System-Log ' .
                                    "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[more...]</a>";
                break;
            default:
                $messages['unknown'][] = 'sys-log:??? ' .
                                    "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[more...]</a>";
                break;
        }
    }
    if ($type == 'log_clamav'){
        /* this type has no state */
    }
    if ($type == 'log_freshclam'){
        /* this type has no state */
   if ($type == 'log_freshclam'){
        switch ($record['state']) {
            case 'ok':
                $messages['ok'][] = 'Your Virus-protection is ok ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[more...]</a>";
                break;
            case 'warning':
                $messages['warning'][] = 'Your Virus-protection is OUTDATED! ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[more...]</a>";
                break;
            default:
                $messages['unknown'][] = 'Freshclam: ???! ' .
                                    "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[more...]</a>";
                break;
        }
    }
    if ($type == 'log_ispconfig'){
        /* this type has no state */
    }
@@ -299,6 +444,9 @@
    if ($type == 'log_messages'){
        /* this type has no state */
    }
    if ($type == 'rkhunter'){
        /* this type has no state */
    }
}
 /*
@@ -311,9 +459,9 @@
  */
function _setState($oldState, $newState)
{
        /*
         * Calculate the weight of the old state
         */
   /*
    * Calculate the weight of the old state
    */
    switch ($oldState) {
        case 'no_state': $oldInt = 0;
            break;
@@ -350,9 +498,9 @@
            break;
    }
        /*
         * Set to the higher level
         */
   /*
    * Set to the higher level
    */
    if ($newInt > $oldInt){
        return $newState;
    }
@@ -362,4 +510,4 @@
    }
}
?>
?>