054 vsan free

This commit is contained in:
2026-07-01 17:13:43 +03:00
parent a2625d125f
commit 07c09ba782
2 changed files with 39 additions and 13 deletions
+28 -1
View File
@@ -146,6 +146,12 @@ cluster_naming (cluster,commercial_name) AS (VALUES
,('cl05-1c','msk1, AMD Raphael 4,5 ГГц') ,('cl05-1c','msk1, AMD Raphael 4,5 ГГц')
,('cl06-vsan','msk1, Intel Ice Lake 2,8 ГГц') ,('cl06-vsan','msk1, Intel Ice Lake 2,8 ГГц')
,('cl07-vsan','msk1, AMD Genoa 4,0 ГГц') ,('cl07-vsan','msk1, AMD Genoa 4,0 ГГц')
),
vsan as (
SELECT "ClusterNew" as cluster_v2, "Total" as total, "Usable" as usable, "Used" as used, "EffectiveFree" as effective_free
FROM vmreports.vsan_storage
WHERE ts=(SELECT max(ts) FROM vmreports.vsan_storage)
) )
@@ -187,10 +193,16 @@ select
<d:field title="VMs ВКЛ" cfSqlType="CF_SQL_INTEGER">coalesce(u.vms_on,0) as vms_on</d:field> <d:field title="VMs ВКЛ" cfSqlType="CF_SQL_INTEGER">coalesce(u.vms_on,0) as vms_on</d:field>
<d:field title="Payload CPU Usage %" cfSqlType="CF_SQL_NUMERIC">coalesce(u.vm_ghz_usage/h.ghz_in_service*100,0) as vm_cpu_usage_perc</d:field> <d:field title="Payload CPU Usage %" cfSqlType="CF_SQL_NUMERIC">coalesce(u.vm_ghz_usage/h.ghz_in_service*100,0) as vm_cpu_usage_perc</d:field>
<d:field title="GB/pCore" cfSqlType="CF_SQL_NUMERIC">gb_per_core</d:field> <d:field title="GB/pCore" cfSqlType="CF_SQL_NUMERIC">gb_per_core</d:field>
<d:field title="vSAN Total" cfSqlType="CF_SQL_NUMERIC">s.total</d:field>
<d:field title="vSAN Usable" cfSqlType="CF_SQL_NUMERIC">s.usable</d:field>
<d:field title="vSAN Used" cfSqlType="CF_SQL_NUMERIC">s.used</d:field>
<d:field title="vSAN Effective Free" cfSqlType="CF_SQL_NUMERIC">s.effective_free</d:field>
</d:field_set> </d:field_set>
from cluster_stat h from cluster_stat h
left outer join usage u on (h.cluster=u.cluster) left outer join usage u on (h.cluster=u.cluster)
left outer join cluster_naming n on (h.cluster=n.cluster) left outer join cluster_naming n on (h.cluster=n.cluster)
left outer join vsan s on (h.cluster_v2=s.cluster_v2)
where 1=1 <!--- <m:filter_build filter=#pageInfo.settings.filter#/> ---> where 1=1 <!--- <m:filter_build filter=#pageInfo.settings.filter#/> --->
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/> order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
</cfquery> </cfquery>
@@ -251,7 +263,7 @@ from qRead
<th width="5%" rowspan="2"><layout:column_head name="cluster_v2"/></th> <th width="5%" rowspan="2"><layout:column_head name="cluster_v2"/></th>
<th width="10%" rowspan="2"><layout:column_head name="commercial_name"/></th> <th width="10%" rowspan="2"><layout:column_head name="commercial_name"/></th>
<th width="3%" rowspan="2"><layout:column_head name="hosts_total"/></th> <th width="3%" rowspan="2"><layout:column_head name="hosts_total"/></th>
<th colspan="6">Свободно</th> <th colspan="7">Свободно</th>
<th width="3%" rowspan="2">ВМ размещено</th> <th width="3%" rowspan="2">ВМ размещено</th>
</layout:grid_head> </layout:grid_head>
@@ -263,6 +275,8 @@ from qRead
<th width="5%">Ядра 20% (текущий резерв)</th> <th width="5%">Ядра 20% (текущий резерв)</th>
<th width="5%">Ядра 50% (текущий резерв)</th> <th width="5%">Ядра 50% (текущий резерв)</th>
<th width="5%">Ядра 80% (текущий резерв)</th> <th width="5%">Ядра 80% (текущий резерв)</th>
<th width="5%">vSAN GB</th>
</tr> </tr>
</thead> </thead>
@@ -284,6 +298,8 @@ from qRead
<td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_reserved, "LE", 0)> err</cfif>" style="font-size:130%"><cfif ghz GT 0>#safeNumberFormat((ghz_provisioned-vm_ghz_reserved)/ghz/0.5,"0")#</cfif></td> <td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_reserved, "LE", 0)> err</cfif>" style="font-size:130%"><cfif ghz GT 0>#safeNumberFormat((ghz_provisioned-vm_ghz_reserved)/ghz/0.5,"0")#</cfif></td>
<td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_reserved, "LE", 0)> err</cfif>" style="font-size:130%"><cfif ghz GT 0>#safeNumberFormat((ghz_provisioned-vm_ghz_reserved)/ghz/0.8,"0")#</cfif></td> <td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_reserved, "LE", 0)> err</cfif>" style="font-size:130%"><cfif ghz GT 0>#safeNumberFormat((ghz_provisioned-vm_ghz_reserved)/ghz/0.8,"0")#</cfif></td>
<td class="r" style="font-size:130%">#safeNumberFormat(effective_free,"0")#</td>
<!--- <td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_promised, "LE", 0)> err</cfif>" style="font-size:130%">#safeNumberFormat(ghz_provisioned-vm_ghz_promised,".0")#</td> <!--- <td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_promised, "LE", 0)> err</cfif>" style="font-size:130%">#safeNumberFormat(ghz_provisioned-vm_ghz_promised,".0")#</td>
<td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_promised, "LE", 0)> err</cfif>" style="font-size:130%">#safeNumberFormat((ghz_provisioned-vm_ghz_promised)/ghz/0.2,"0")#</td> <td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_promised, "LE", 0)> err</cfif>" style="font-size:130%">#safeNumberFormat((ghz_provisioned-vm_ghz_promised)/ghz/0.2,"0")#</td>
<td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_promised, "LE", 0)> err</cfif>" style="font-size:130%">#safeNumberFormat((ghz_provisioned-vm_ghz_promised)/ghz/0.5,"0")#</td> <td class="r<cfif safeCompareNum(ghz_provisioned - vm_ghz_promised, "LE", 0)> err</cfif>" style="font-size:130%">#safeNumberFormat((ghz_provisioned-vm_ghz_promised)/ghz/0.5,"0")#</td>
@@ -492,6 +508,8 @@ from qRead
<th width="3%">RAM allloc %</th> <th width="3%">RAM allloc %</th>
<th width="3%">RAM allloc ВКЛ %</th> <th width="3%">RAM allloc ВКЛ %</th>
<th width="3%"><layout:column_head name="GB_usage_perc"/></th> <th width="3%"><layout:column_head name="GB_usage_perc"/></th>
<th width="3%">Емкость vSAN GB</th>
<th width="3%">Свободно vSAN %</th>
</layout:grid_head> </layout:grid_head>
@@ -529,6 +547,15 @@ from qRead
<td class="c" style="font-size:130%;">#numberFormat(GB_alloc_perc,"0")#</td> <td class="c" style="font-size:130%;">#numberFormat(GB_alloc_perc,"0")#</td>
<td class="c" style="font-size:130%;"><cfif gb_provisioned NEQ 0>#numberFormat(vm_ram_alloc_on/gb_provisioned*100,"0")#</cfif></td> <td class="c" style="font-size:130%;"><cfif gb_provisioned NEQ 0>#numberFormat(vm_ram_alloc_on/gb_provisioned*100,"0")#</cfif></td>
<td class="c" style="font-size:130%;"><cfif gb_provisioned NEQ 0>#numberFormat(vm_ram_used/gb_provisioned*100,"0")#</cfif></td> <td class="c" style="font-size:130%;"><cfif gb_provisioned NEQ 0>#numberFormat(vm_ram_used/gb_provisioned*100,"0")#</cfif></td>
<td class="c" style="font-size:130%;">#safeNumberFormat(usable,"0")#</td>
<td class="c" style="font-size:130%;">
<cfif usable GT 0>
<cftry>
#numberFormat(effective_free/usable*100,"0")#
<cfcatch type="any"></cfcatch>
</cftry>
</cfif>
</td>
</tr> </tr>
</cfoutput> </cfoutput>
</table> </table>
+9 -10
View File
@@ -70,24 +70,24 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
<a href="#request.thisPage#?output_json" title="экспорт в json" style="margin-left:.5em; height:100%;" target="_blank"><img src="img/json.svg" style="vertical-align:text-bottom;" width="13" height="13"/></a> <a href="#request.thisPage#?output_json" title="экспорт в json" style="margin-left:.5em; height:100%;" target="_blank"><img src="img/json.svg" style="vertical-align:text-bottom;" width="13" height="13"/></a>
</cfoutput> </cfoutput>
<cfoutput><b>#qVM.recordCount#</b></cfoutput> <cfoutput><b>#qVM.recordCount#</b></cfoutput>
<table class="worktable"> <table class="worktable" style="word-break:break-word">
<thead> <thead>
<tr> <tr>
<th width="5%">WZ</th> <th width="3%">WZ</th>
<th width="5%">Имя</th> <th width="5%">Имя</th>
<th width="5%">Уникальное имя</th> <th width="7%">Уникальное имя</th>
<th width="3%">Organization</th> <th width="3%">Organization</th>
<th width="3%">VDC</th> <th width="5%">VDC</th>
<th width="3%">VDC CPU Reserv</th> <th width="3%">VDC CPU Reserv</th>
<th width="3%">VDC CPU Speed GHz</th> <th width="3%">VDC CPU Speed GHz</th>
<th width="3%">Cluster</th> <th width="3%">Cluster</th>
<th width="3%">Host</th> <th width="3%">Host</th>
<th width="7%">Host Model</th> <th width="5%">Host Model</th>
<th width="7%">CPU Model</th> <th width="5%">CPU Model</th>
<th width="3%">Host CPU Cores</th> <th width="3%">Host CPU Cores</th>
<th width="3%">Host CPU Sockets</th> <th width="3%">Host CPU Sockets</th>
<th width="3%">Host CPU Speed GHz</th> <th width="3%">Host CPU Speed GHz</th>
@@ -104,17 +104,16 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
<th width="3%">VM RAM Allocated GB</th> <th width="3%">VM RAM Allocated GB</th>
<th width="3%">VM RAM Used GB</th> <th width="3%">VM RAM Used GB</th>
<th width="3%">VM is ON</th> <th width="2%">VM is ON</th>
</tr> </tr>
</thead> </thead>
<!--- <a href="contragent_rpt.cfm?__id=#company_uid#&#tr.fwx#" style="float:right;word-break:normal;" >--->
<cfoutput query="qVM"> <cfoutput query="qVM">
<tr> <tr>
<td><a href="contragent.cfm?__id=#company_uid#&#tr.fwx#"style="word-break:normal;">#WZ#&nbsp;<img src="img/view.gif" title="сводка по контрагенту" style="display:inline;"/></a></td>
<td><a href="contragent.cfm?__id=#company_uid#&#tr.fwx#">#WZ#</a><a href="contragent_rpt.cfm?__id=#company_uid#&#tr.fwx#" style="float:right"><img src="img/view.gif" title="сводка по контрагенту"/></a></td>
<td>#Name#</td> <td>#Name#</td>
<td>#UUID_VM#</td> <td>#UUID_VM#</td>
<td>#Organization#</td> <td>#Organization#</td>