From 66c3bc24f069a2854bdf1eeebb6dcb51f6ef0afb Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Wed, 28 Oct 2009 14:30:28 -0400 Subject: [PATCH] Implemented: FS#757 - Add "custom" option to transports --- interface/web/monitor/show_sys_state.php | 273 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 208 insertions(+), 65 deletions(-) diff --git a/interface/web/monitor/show_sys_state.php b/interface/web/monitor/show_sys_state.php index 20db251..b695a46 100644 --- a/interface/web/monitor/show_sys_state.php +++ b/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 @@ -98,10 +123,7 @@ global $app; /* The State of the server */ - $serverState = 'unknown'; - - /** The Number of several infos, warnings, errors, ... */ - $count = array('unknown' => 0, 'info' => 0, 'warning' => 0, 'critical' => 0, 'error' => 0); + $serverState = 'ok'; /** The messages */ $messages = array(); @@ -118,18 +140,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 .= 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 .= '<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[$app->lng("monitor_serverstate_listok_txt")]) . ' ok | '; + $res .= sizeof($messages[$app->lng("monitor_serverstate_listunknown_txt")]) . ' ' . $app->lng("monitor_serverstate_unknown_txt") . ' | '; + $res .= sizeof($messages[$app->lng("monitor_serverstate_listinfo_txt")]) . ' ' . $app->lng("monitor_serverstate_info_txt") . ' | '; + $res .= sizeof($messages[$app->lng("monitor_serverstate_listwarning_txt")]) . ' ' . $app->lng("monitor_serverstate_warning_txt") . ' | '; + $res .= sizeof($messages[$app->lng("monitor_serverstate_listcritical_txt")]) . ' ' . $app->lng("monitor_serverstate_critical_txt") . ' | '; + $res .= sizeof($messages[$app->lng("monitor_serverstate_listerror_txt")]) . ' ' . $app->lng("monitor_serverstate_error_txt") . '<br />'; $res .= '<br />'; + if ($showAll){ /* * if we have to show all, then we do it... @@ -142,7 +165,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 +181,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 +191,9 @@ /* * Show some state-info */ - $res .= showServerLoad(); - $res .= ' '. showDiskUsage(); - $res .= ' '.showServices(); + //$res .= showServerLoad(); + //$res .= ' '. showDiskUsage(); + //$res .= ' '.showServices(); } @@ -192,8 +215,6 @@ $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']); - // count the states - $count[$record['state']]+= 1; /* * The message depands on the type and the state @@ -204,29 +225,29 @@ if ($type == 'disk_usage'){ switch ($record['state']) { case 'ok': - $messages['ok'][] = 'The state of your Hard-Disk space is ok ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_hdok_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'info': - $messages['info'][] = 'Your Hard-Disk space is going full ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_hdgoingfull_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'warning': - $messages['warning'][] = 'Your Hard-Disk is nearly full ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_hdnearlyfull_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'critical': - $messages['critical'][] = 'Your Hard-Disk is very full '. - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_hdveryfull_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'error': - $messages['error'][] = 'Your Hard-Disk has no more space left ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_hdfull_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; default: - $messages['unknown'][] = 'Hard-Disk: ??? ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_hdunknown_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; } } @@ -236,54 +257,173 @@ if ($type == 'server_load'){ switch ($record['state']) { case 'ok': - $messages['ok'][] = 'Your Server load is ok ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_loadok_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'info': - $messages['info'][] = 'Your Server in under heavy load ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_loadheavy_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'warning': - $messages['warning'][] = 'Your Server in under high load ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_loadhigh_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'critical': - $messages['critical'][] = 'Your Server in under higher load ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_loadhigher_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'error': - $messages['error'][] = 'Your Server in under highest load ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_loadhighest_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; default: - $messages['unknown'][] = 'Server Load: ??? ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_loadunknown_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; } } if ($type == 'services'){ switch ($record['state']) { case 'ok': - $messages['error'][] = 'All needed Services are online ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_servicesonline_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; case 'error': - $messages['error'][] = 'One or more needed Services are offline ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_servicesoffline_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; default: - $messages['unknown'][] = 'services:??? ' . - "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[more...]</a>"; + $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_servicesunknown_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; break; } } + if ($type == 'system_update'){ + switch ($record['state']) { + case 'ok': + $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_updatesok_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + + break; + case 'warning': + $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_updatesneeded_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'no_state': + /* + * not debian and not Ubuntu, so the state could not be monitored... + */ + break; + default: + $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_updatesunknown_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + } + } + + if ($type == 'raid_state'){ + switch ($record['state']) { + case 'ok': + $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_raidok_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'info': + $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_raidresync_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'critical': + $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_raidfault_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'error': + $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_raiderror_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'no_state': + /* + * mdadm is not installed or the RAID is not supported... + */ + break; + default: + $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_raidunknown_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + } + } + + + if ($type == 'mailq'){ + switch ($record['state']) { + case 'ok': + $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_mailqok_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'info': + $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_mailqheavy_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'warning': + $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_mailqhigh_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'critical': + $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_mailqhigher_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'error': + $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_mailqhighest_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + default: + $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_mailqunknown_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + } + } + + if ($type == 'sys_log'){ + switch ($record['state']) { + case 'ok': + $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_syslogok_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'warning': + $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_syslogwarning_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'error': + $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_syslogerror_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + default: + $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_syslogunknown_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</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[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_fclamok_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + case 'warning': + $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_fclamoutdated_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + default: + $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_fclamunknown_txt") . ' ' . + "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>"; + break; + } } + if ($type == 'log_ispconfig'){ /* this type has no state */ } @@ -299,6 +439,9 @@ if ($type == 'log_messages'){ /* this type has no state */ } + if ($type == 'rkhunter'){ + /* this type has no state */ + } } /* @@ -311,15 +454,15 @@ */ 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; - case 'unknown': $oldInt = 1; + case 'ok': $oldInt = 1; break; - case 'ok': $oldInt = 2; + case 'unknown': $oldInt = 2; break; case 'info': $oldInt = 3; break; @@ -350,9 +493,9 @@ break; } - /* - * Set to the higher level - */ + /* + * Set to the higher level + */ if ($newInt > $oldInt){ return $newState; } @@ -362,4 +505,4 @@ } } -?> \ No newline at end of file +?> -- Gitblit v1.9.1