From a23577c2902bdf88a39f7b28ffa2526abe52c2b2 Mon Sep 17 00:00:00 2001 From: e025532 Date: Mon, 3 Feb 2025 10:43:51 +0100 Subject: [PATCH] Added : Hyper-V detail --- Hyper-V/cluster-detail.php | 193 +++++++++++++++++++++++++++++++++++++ Hyper-V/clusters.php | 4 + 2 files changed, 197 insertions(+) create mode 100644 Hyper-V/cluster-detail.php diff --git a/Hyper-V/cluster-detail.php b/Hyper-V/cluster-detail.php new file mode 100644 index 0000000..570d03c --- /dev/null +++ b/Hyper-V/cluster-detail.php @@ -0,0 +1,193 @@ + + + + + + + + + + Web Infra Reports + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ +
+ +

+ + + +
+

+ Worst Failover scenario available memory : ".($clmem - $vmmem). " / " .$clmem. " GB"; + $pcent = round(($clmem - $vmmem)/$clmem*100); + $pcent_restant = 100 - $pcent; + if($pcent <= 5){ + $color = "bg-danger"; $border = "red"; + }else{ + if($pcent <= 10){ + $color = "bg-warning"; $border = "yellow"; + }else{ + $color = "bg-success"; $border = "green"; + } + } + echo " +
+
+
+
"; + echo "
"; + ?> +
+ "; + $nbvm = Invoke_Infra("select count(*) as nbvm, sum(memory) as vmmem from cmdb_vms where owner ='".$cluster['node']."' and decomtime is null"); + echo '

'.$cluster['node']." - ".$nbvm[0]['nbvm']." VMs


"; + #Memory + echo "
"; + echo "
"; + echo "Free Memory : ".($cluster['node_ram'] - 32 - $nbvm[0]['vmmem']). " / " .($cluster['node_ram'] - 32). " GB"; + $pcent = round(($cluster['node_ram'] - 32 - $nbvm[0]['vmmem'])/($cluster['node_ram'] - 32)*100); + $pcent_restant = 100 - $pcent; + if($pcent <= 5){ + $color = "bg-danger"; + }else{ + if($pcent <= 10){ + $color = "bg-warning"; + }else{ + $color = "bg-success"; + } + } + echo "
"; + echo "
"; + echo " +
+
+
+
"; + echo "
"; + echo "
" ; + echo "
"; + + #Storage + echo "
"; + foreach(explode("|",$cluster['csvs']) as $csv){ + if(strpos($csv,";") != false){ + echo "
"; + echo "" . explode(";",$csv)[0]; + $total = explode(";",$csv)[1]; $used = explode(";",$csv)[2]; $free = $total-$used ; + echo " Free : ".$free."/" .$total. " GB"; + echo "
"; + echo "
"; + $pcent = round($free/$total*100); + $pcent_restant = 100 - $pcent; + if($pcent <= 10){ + $color = "bg-danger"; + }else{ + if($pcent <= 20){ + $color = "bg-warning"; + }else{ + $color = "bg-success"; + } + } + echo " +
+
+
+
"; + echo "
"; + }else{echo "

";} + } + echo "
"; + echo "
"; + + #VMs + $vms = Invoke_Infra("select * from cmdb_vms where owner ='".$cluster['node']."' and decomtime is null order by name"); + foreach($vms as $vm){ + echo "
"; + echo "
"; + $state = ' '; + if($vm['State'] == "Running"){$state = ' ';} + if($vm['State'] == "Off" || $vm['State'] == "Stopping"){$state = ' ';} + if($vm['State'] == "Paused"){$state = ' ';} + if(strpos($vm['Name'],'WS') === 0){ + echo $state." ".substr($vm['Name'],0,10).""; + }else{ + echo $state." ".$vm['Name'].""; + } + echo "
"; + + echo "
"; + echo ''.$vm['Memory'].'GB / '.$vm['CPU'].' CPU '; + if($vm['WWPNs'] != ""){ + echo 'iSCSI '; + } + #echo "
"; + + #echo "
"; + if($vm['IsClustered'] != "True"){ + echo 'Unclustered '; + }else{ + if($vm['Owner'] != $vm['PreferredOwner']){ + echo 'Wrong Owner '; + } + } + echo "
"; + + echo "
"; + echo "
"; + + echo "
"; + } + echo "
"; + echo "
"; + } + echo "
"; + ?> +
+ +
+
+ + + + + \ No newline at end of file diff --git a/Hyper-V/clusters.php b/Hyper-V/clusters.php index 99b4c5a..da996cb 100644 --- a/Hyper-V/clusters.php +++ b/Hyper-V/clusters.php @@ -91,7 +91,9 @@ } ?> +
+

@@ -149,7 +151,9 @@

+ +