[Web] Add JVM memory indiator and add minor fixes
This commit is contained in:
		| @@ -41,3 +41,7 @@ table.footable>tbody>tr.footable-empty>td { | ||||
| tbody { | ||||
|   font-size:14px; | ||||
| } | ||||
| .container-indicator { | ||||
|   width: 15px; | ||||
|   height: 15px; | ||||
| } | ||||
| @@ -76,11 +76,17 @@ else { | ||||
|                   <?php | ||||
|                   if ($solr_status !== false): | ||||
|                   ?> | ||||
|                   <p><?=$lang['debug']['solr_uptime'];?>: ~<?=round($solr_status['uptime'] / 1000 / 60 / 60);?>h</p> | ||||
|                   <p><?=$lang['debug']['solr_started_at'];?>: <?=$solr_status['startTime'];?></p> | ||||
|                   <p><?=$lang['debug']['solr_last_modified'];?>: <?=$solr_status['index']['lastModified'];?></p> | ||||
|                   <p><?=$lang['debug']['solr_size'];?>: <?=$solr_status['index']['size'];?></p> | ||||
|                   <p><?=$lang['debug']['solr_docs'];?>: <?=$solr_status['index']['numDocs'];?></p> | ||||
|                   <div class="progress"> | ||||
|                     <div class="progress-bar progress-bar-info" role="progressbar" style="width:<?=round($solr_status['jvm']['memory']['raw']['used%']);?>%"></div> | ||||
|                   </div> | ||||
|                   <p><?=$lang['debug']['jvm_memory_solr'];?>: <?=$solr_status['jvm']['memory']['total'] - $solr_status['jvm']['memory']['free'];?> / <?=$solr_status['jvm']['memory']['total'];?> | ||||
|                     (<?=round($solr_status['jvm']['memory']['raw']['used%']);?>%)</p> | ||||
|                   <hr> | ||||
|                   <p><?=$lang['debug']['solr_uptime'];?>: ~<?=round($solr_status['status']['dovecot-fts']['uptime'] / 1000 / 60 / 60);?>h</p> | ||||
|                   <p><?=$lang['debug']['solr_started_at'];?>: <?=$solr_status['status']['dovecot-fts']['startTime'];?></p> | ||||
|                   <p><?=$lang['debug']['solr_last_modified'];?>: <?=$solr_status['status']['dovecot-fts']['index']['lastModified'];?></p> | ||||
|                   <p><?=$lang['debug']['solr_size'];?>: <?=$solr_status['status']['dovecot-fts']['index']['size'];?></p> | ||||
|                   <p><?=$lang['debug']['solr_docs'];?>: <?=$solr_status['status']['dovecot-fts']['index']['numDocs'];?></p> | ||||
|                   <?php | ||||
|                   else: | ||||
|                   ?> | ||||
| @@ -124,9 +130,9 @@ else { | ||||
|                 $started = '?'; | ||||
|               } | ||||
|               ?> | ||||
|               <small>(Started on <?=$started;?>), | ||||
|               <small>(<?=$lang['debug']['started_on'];?> <?=$started;?>), | ||||
|               <a href data-toggle="modal" data-container="<?=$container;?>" data-target="#RestartContainer"><?=$lang['debug']['restart_container'];?></a></small> | ||||
|               <span class="pull-right label label-<?=($container_info['State'] !== false && !empty($container_info['State'])) ? (($container_info['State']['Running'] == 1) ? 'success' : 'danger') : 'default'; ?>">   </span> | ||||
|               <span class="pull-right container-indicator label label-<?=($container_info['State'] !== false && !empty($container_info['State'])) ? (($container_info['State']['Running'] == 1) ? 'success' : 'danger') : 'default'; ?>"> </span> | ||||
|               </li> | ||||
|               <?php | ||||
|               } | ||||
|   | ||||
| @@ -1574,16 +1574,34 @@ function solr_status() { | ||||
|   curl_setopt($curl, CURLOPT_URL, $url); | ||||
|   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); | ||||
|   curl_setopt($curl, CURLOPT_POST, 0); | ||||
|   curl_setopt($curl, CURLOPT_TIMEOUT, 20); | ||||
|   $response = curl_exec($curl); | ||||
|   if ($response === false) { | ||||
|   curl_setopt($curl, CURLOPT_TIMEOUT, 10); | ||||
|   $response_core = curl_exec($curl); | ||||
|   if ($response_core === false) { | ||||
|     $err = curl_error($curl); | ||||
|     curl_close($curl); | ||||
|     return false; | ||||
|   } | ||||
|   else { | ||||
|     curl_close($curl); | ||||
|     $status = json_decode($response, true); | ||||
|     $curl = curl_init(); | ||||
|     $status_core = json_decode($response_core, true); | ||||
|     $url = 'http://solr:8983/solr/admin/info/system'; | ||||
|     curl_setopt($curl, CURLOPT_URL, $url); | ||||
|     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); | ||||
|     curl_setopt($curl, CURLOPT_POST, 0); | ||||
|     curl_setopt($curl, CURLOPT_TIMEOUT, 10); | ||||
|     $response_sysinfo = curl_exec($curl); | ||||
|     if ($response_sysinfo === false) { | ||||
|       $err = curl_error($curl); | ||||
|       curl_close($curl); | ||||
|       return false; | ||||
|     } | ||||
|     else { | ||||
|       curl_close($curl); | ||||
|       $status_sysinfo = json_decode($response_sysinfo, true); | ||||
|       $status = array_merge($status_core, $status_sysinfo); | ||||
|       return (!empty($status['status']['dovecot-fts']) && !empty($status['jvm']['memory'])) ? $status : false; | ||||
|     } | ||||
|     return (!empty($status['status']['dovecot-fts'])) ? $status['status']['dovecot-fts'] : false; | ||||
|   } | ||||
|   return false; | ||||
|   | ||||
| @@ -769,6 +769,8 @@ $lang['debug']['log_info'] = '<p>mailcow <b>in-memory Logs</b> werden in Redis L | ||||
|   <p><b>Statische Logs</b> sind weitestgehend Aktivitätsprotokolle, die nicht in den Docker Daemon geschrieben werden, jedoch permanent verfügbar sein müssen (ausgeschlossen API Logs).</p>'; | ||||
|  | ||||
| $lang['debug']['in_memory_logs'] = 'In-memory Logs'; | ||||
| $lang['debug']['started_on'] = 'Gestartet am'; | ||||
| $lang['debug']['jvm_memory_solr'] = 'JVM Speicherauslastung'; | ||||
| $lang['debug']['external_logs'] = 'Externe Logs'; | ||||
| $lang['debug']['static_logs'] = 'Statische Logs'; | ||||
| $lang['debug']['solr_status'] = 'Solr Status'; | ||||
|   | ||||
| @@ -786,6 +786,8 @@ $lang['danger']['spam_learn_error'] = "Spam learn error: %s"; | ||||
| $lang['success']['qlearn_spam'] = "Message ID %s was learned as spam and deleted"; | ||||
|  | ||||
| $lang['debug']['system_containers'] = 'System & Containers'; | ||||
| $lang['debug']['started_on'] = 'Started on'; | ||||
| $lang['debug']['jvm_memory_solr'] = 'JVM memory usage'; | ||||
| $lang['debug']['solr_status'] = 'Solr status'; | ||||
| $lang['debug']['solr_dead'] = 'Solr is starting, disabled or died.'; | ||||
| $lang['debug']['logs'] = 'Logs'; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user