tests found

This commit is contained in:
2026-04-15 14:07:39 +03:00
parent ade4071eb8
commit 2e0b71cf3f
11 changed files with 69 additions and 111 deletions
+12 -7
View File
@@ -60,6 +60,8 @@ SELECT
,sum("CPU_Used_AVG") as host_ghz_usage
,(sum(CASE WHEN "Maintenance"='notInMaintenance' THEN "RAM_Total" ELSE 0 END)) as ram_in_service
,(avg(CASE WHEN "Maintenance"='notInMaintenance' THEN "CPU_Speed" ELSE 0 END)) as ghz
,max("CPUtoVM") as ghz_subtract_ha
,max("RAMtoVM") as gb_subtract_ha
,CASE WHEN sum("CPU_Cores"*"CPU_Speed") > 0 THEN sum("CPU_Used_AVG")/sum("CPU_Cores"*"CPU_Speed")*100 ELSE NULL END as cpu_usage_perc
FROM vmreports.host h
LEFT OUTER JOIN (
@@ -107,8 +109,8 @@ select
<!--- <d:field title="Hosts in use">h.hosts</d:field> --->
<d:field title="Cores Capacity">h.cores as Cores_Capacity</d:field>
<!--- <d:field title="GHz Capacity">c.ghz as GHz_Capacity</d:field> --->
<d:field title="GHz Provisioned">h.ghz_provisioned as GHz_Provisioned</d:field><!--- за вычетом согласованных резервов --->
<d:field title="GB Provisioned">h.gb_provisioned as GB_Provisioned</d:field><!--- за вычетом согласованных резервов --->
<d:field title="GHz Provisioned">h.ghz_provisioned - CASE WHEN hosts_in_maintenance > 0 THEN 0 ELSE h.ghz_subtract_ha END as GHz_Provisioned</d:field><!--- за вычетом согласованных резервов на хосте и на HA --->
<d:field title="GB Provisioned">h.gb_provisioned - CASE WHEN hosts_in_maintenance > 0 THEN 0 ELSE h.gb_subtract_ha END as GB_Provisioned</d:field><!--- за вычетом согласованных резервов на хосте и на HA --->
<d:field title="VM GHz reserved">u.vm_ghz_reserved</d:field>
<d:field title="VM GHz обещанные">u.vm_ghz_promised</d:field>
<d:field title="CPU GHz provision rate %">round((u.vm_ghz_promised/h.ghz_provisioned)::numeric,2)*100 as GHz_provision_rate</d:field>
@@ -185,7 +187,8 @@ from qRead
<!--- <th width="3%"><layout:column_head name="ghz"/></th> --->
<th width="3%"><layout:column_head name="hosts_total"/></th>
<th width="5%">RAM GB</th>
<th width="5%">RAM GB by alloc</th>
<th width="5%">RAM GB by usage</th>
<th width="5%">CPU GHz (текущий резерв)</th>
<th width="5%">Ядра 20% (текущий резерв)</th>
@@ -211,6 +214,7 @@ from qRead
<td class="r">#hosts_total#</td>
<td class="r<cfif gb_provisioned-vm_ram_alloc LE 0> err</cfif>" style="font-size:130%">#numberFormat(gb_provisioned-vm_ram_alloc,"0")#</td>
<td class="r<cfif gb_provisioned-vm_ram_used LE 0> err</cfif>" style="font-size:130%">#numberFormat(gb_provisioned-vm_ram_used,"0")#</td>
<td class="r<cfif ghz_provisioned-vm_ghz_reserved LE 0> err</cfif>" style="font-size:130%">#numberFormat(ghz_provisioned-vm_ghz_reserved,".0")#</td>
<td class="r<cfif ghz_provisioned-vm_ghz_reserved LE 0> err</cfif>" style="font-size:130%">#numberFormat((ghz_provisioned-vm_ghz_reserved)/ghz/0.2,"0")#</td>
@@ -228,7 +232,8 @@ from qRead
</cfoutput>
</table>
<i>Жесткий резерв - если включим минимальное резервирование 20%</i><br/>
<i>Доступная память указана по выделенному объему (используется меньше, доступно больше)</i>
<i>Доступная память указана по выделенному объему (используется меньше, доступно больше)</i><br/>
<i>Емкость HA вычитается из Capacity, если нет хостов в Maintenance, в противном случае вычитается ресурс хостов в Maintenance. За объем для HA принимается размер наибольшего хоста в кластере по каждому ресурсу (поэтому при выводе в Maintenance расчетная емкость может временно увеличиться)</i>
<h3>Использование подробно</h3>
@@ -306,7 +311,7 @@ from qRead
<td class="r">#numberFormat(GB_alloc_perc,"0")#</td>
<td class="r">#numberFormat(GB_usage_perc,"0")#</td>
<td class="r">#vms#</td>
<td class="r"><cftry>#numberFormat(vm_cores/vms,".0")#&nbsp;core #numberFormat(vm_ghz_usage/vms,".0")#&nbsp;GHz #numberFormat(vm_ghz_usage/vm_cores/ghz*100,"0")#% #numberFormat(vm_ram_alloc/vms,".0")#&nbsp;GB <cfcatch></cfcatch></cftry></td>
<td class="r"><cftry>#numberFormat(vm_cores/vms,".0")#&nbsp;core #numberFormat(vm_ghz_usage/vms,".0")#&nbsp;GHz #numberFormat(vm_ghz_usage/vm_cores/ghz*100,"0")#% #numberFormat(vm_ram_alloc/vms,".0")#(#numberFormat(vm_ram_used/vms,".0")#)&nbsp;GB <cfcatch></cfcatch></cftry></td>
</tr>
</cfoutput>
<cfoutput query="qTotal">
@@ -342,7 +347,7 @@ from qRead
#numberFormat(vm_cores/vms,".0")#&nbsp;core
#numberFormat(vm_ghz_usage/vms,".0")#&nbsp;GHz
#numberFormat(vm_ghz_usage/vm_cores/ghz*100,"0")#% <!--- *** тут не уверен --->
#numberFormat(vm_ram_alloc/vms,".0")#&nbsp;GB
#numberFormat(vm_ram_alloc/vms,".0")#(#numberFormat(vm_ram_used/vms,".0")#)&nbsp;GB
<cfcatch></cfcatch></cftry>
</td>
</tr>
@@ -354,7 +359,7 @@ from qRead
<br/>
<i>* CPU GHz provision rate % - отношение зарезервированной частоты (с учетом 20% резерва по умолчанию) к наличной частоте процессоров</i>
<br/>
<i>* Расхождения в оценке объема RAM частично связаны с разной оценкой затрат памяти на собственные нужды гипервизора</i>
<i>* Для средней ВМ указана аллоцированная память, а в скобках - используемая </i>
<br/>
<!--- <cfchart
format="png"