| | |
| | | $app->tpl->setVar("state_data",$output); |
| | | $app->tpl->setVar("state_type",$stateType); |
| | | $app->tpl->setVar("list_head_txt",$title); |
| | | $app->tpl->setVar("list_desc_txt",$description); |
| | | $app->tpl->setVar("list_desc_txt",(isset($description) ? $description : '')); |
| | | $app->tpl->setVar("monTransRefreshsq", $monTransRefreshsq); |
| | | |
| | | /* |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /* |
| | | * Now we have to output all "normal" server or all OpenVZ-Hosts (or all OpenVZ-VE's without |
| | | * a OpenVZ-Host managed by ISPConfig). The OpenVz-VE's are then included in them... |
| | |
| | | if (!isset($data['is_ve'])) { |
| | | /* |
| | | * it is NOT a Ve, so do the output of this server and off all VE's included in them |
| | | */ |
| | | */ |
| | | $html .= $data['html_server']; |
| | | /* get all VE's of this server */ |
| | | $veInfo = $data['ve_info']; |
| | |
| | | $ispcData = null; |
| | | foreach($records as $record) { |
| | | /* get the state from the db-data */ |
| | | _processDbState($record['type'], $serverId, &$serverState, &$messages); |
| | | $tmp = _processDbState($record['type'], $serverId, $serverState, $messages); |
| | | $serverState = $tmp['serverState']; |
| | | $messages = $tmp['messages']; |
| | | |
| | | /* if we have the os-info, get it */ |
| | | if ($record['type'] == 'os_info') { |
| | | $osData = unserialize($record['data']); |
| | |
| | | /* |
| | | * Info of a "normal" Server or a OpenVz-Host |
| | | */ |
| | | $html_server .= '<div class="systemmonitor-state state-' . $serverState . '">'; |
| | | $html_server = '<div class="systemmonitor-state state-' . $serverState . '">'; |
| | | $html_server .= '<div class="systemmonitor-device device-server">'; |
| | | $html_server .= '<div class="systemmonitor-content icons32 ico-' . $serverState . '">'; |
| | | $html_server .= $app->lng("monitor_serverstate_server_txt") . ': ' . $serverName; |
| | | if ($osData != null) { |
| | | $html_server .= ' (' . $osData['name'] . ' ' . $osData['version'] . ')'; |
| | | $html_server .= ' (' . $osData['name'] . ' ' . $osData['version'] . ')<br>'; |
| | | } |
| | | else { |
| | | $html_server .= '<br />'; |
| | | } |
| | | if ($ispcData != null) { |
| | | $html_server .= $ispcData['name'] . ' ' . $ispcData['version'] . '<br>'; |
| | | } |
| | | else { |
| | | $html_server .= '<br />'; |
| | | } |
| | | |
| | | $html_server .= '<br />'; |
| | | $html_server .= $app->lng("monitor_serverstate_state_txt") . ': ' . $serverState . ' ('; |
| | | $html_server .= sizeof($messages[$app->lng("monitor_serverstate_listunknown_txt")]) . ' ' . $app->lng("monitor_serverstate_unknown_txt") . ', '; |
| | | $html_server .= sizeof($messages[$app->lng("monitor_serverstate_listinfo_txt")]) . ' ' . $app->lng("monitor_serverstate_info_txt") . ', '; |
| | | $html_server .= sizeof($messages[$app->lng("monitor_serverstate_listwarning_txt")]) . ' ' . $app->lng("monitor_serverstate_warning_txt") . ', '; |
| | | $html_server .= sizeof($messages[$app->lng("monitor_serverstate_listcritical_txt")]) . ' ' . $app->lng("monitor_serverstate_critical_txt") . ', '; |
| | | $html_server .= sizeof($messages[$app->lng("monitor_serverstate_listerror_txt")]) . ' ' . $app->lng("monitor_serverstate_error_txt") . ''; |
| | | $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listunknown_txt")]) ? $messages[$app->lng("monitor_serverstate_listunknown_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_unknown_txt") . ', '; |
| | | $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listinfo_txt")]) ? $messages[$app->lng("monitor_serverstate_listinfo_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_info_txt") . ', '; |
| | | $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listwarning_txt")]) ? $messages[$app->lng("monitor_serverstate_listwarning_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_warning_txt") . ', '; |
| | | $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listcritical_txt")]) ? $messages[$app->lng("monitor_serverstate_listcritical_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_critical_txt") . ', '; |
| | | $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listerror_txt")]) ? $messages[$app->lng("monitor_serverstate_listerror_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_error_txt") . ''; |
| | | $html_server .= ')<br />'; |
| | | |
| | | /* |
| | | * Verbose - Info |
| | | */ |
| | | $html_verbose = $html_server; |
| | | foreach($messages as $key => $state) { { |
| | | $html_verbose .= $key . ':<br />'; |
| | | foreach ($state as $msg) { |
| | | $html_verbose .= $msg . '<br />'; |
| | | } |
| | | $html_verbose .= '<br />'; |
| | | foreach($messages as $key => $state) { |
| | | $html_verbose .= $key . ':<br />'; |
| | | foreach ($state as $msg) { |
| | | $html_verbose .= $msg . '<br />'; |
| | | } |
| | | $html_verbose .= '<br />'; |
| | | } |
| | | |
| | | /* |
| | |
| | | } |
| | | |
| | | /* |
| | | * gets the state from the db and process it |
| | | * gets the state from the db and process it |
| | | */ |
| | | function _processDbState($type, $serverId, $serverState, $messages) { |
| | | global $app; |
| | |
| | | * Always the NEWEST record of each monitoring is responsible for the |
| | | * state |
| | | */ |
| | | // get the State from the DB |
| | | // get the State from the DB |
| | | $record = $app->db->queryOneRecord("SELECT state FROM monitor_data WHERE type = '" . $type . "' and server_id = " . $serverId . " order by created desc"); |
| | | // change the new state to the highest state |
| | | $serverState = _setState($serverState, $record['state']); |
| | | |
| | | // change the new state to the highest state |
| | | /* |
| | | * Monitoring the user_beancounter of a VE is not as easy as i thought, so for now ignore |
| | | * this state (if we have a better solution) |
| | | */ |
| | | if ($type != 'openvz_beancounter') { |
| | | $serverState = _setState($serverState, $record['state']); |
| | | } |
| | | |
| | | /* |
| | | * The message depands on the type and the state |
| | |
| | | } |
| | | } |
| | | |
| | | if ($type == 'openvz_beancounter') { |
| | | switch ($record['state']) { |
| | | case 'ok': |
| | | $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_beancounterok_txt") . ' ' . |
| | | "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | break; |
| | | case 'info': |
| | | $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_beancounterinfo_txt") . ' ' . |
| | | "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | break; |
| | | case 'warning': |
| | | $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_beancounterwarning_txt") . ' ' . |
| | | "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | break; |
| | | case 'critical': |
| | | $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_beancountercritical_txt") . ' ' . |
| | | "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | break; |
| | | case 'error': |
| | | $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_beancountererror_txt") . ' ' . |
| | | "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | /* |
| | | * ignore, until we find a better solution |
| | | */ |
| | | // if ($type == 'openvz_beancounter') { |
| | | // switch ($record['state']) { |
| | | // case 'ok': |
| | | // $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_beancounterok_txt") . ' ' . |
| | | // "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | // break; |
| | | // case 'info': |
| | | // $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_beancounterinfo_txt") . ' ' . |
| | | // "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | // break; |
| | | // case 'warning': |
| | | // $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_beancounterwarning_txt") . ' ' . |
| | | // "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | // break; |
| | | // case 'critical': |
| | | // $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_beancountercritical_txt") . ' ' . |
| | | // "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | // break; |
| | | // case 'error': |
| | | // $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_beancountererror_txt") . ' ' . |
| | | // "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; |
| | | // break; |
| | | // default: |
| | | // break; |
| | | // } |
| | | // } |
| | | |
| | | |
| | | if ($type == 'mailq') { |
| | |
| | | if ($type == 'rkhunter') { |
| | | /* this type has no state */ |
| | | } |
| | | |
| | | return array('serverState' => $serverState,'messages' => $messages); |
| | | } |
| | | |
| | | /* |