056 bugfix vms_on

This commit is contained in:
2026-07-01 20:59:45 +03:00
parent 8c5ddd2ae4
commit 6c952ca443
2 changed files with 51 additions and 24 deletions
+2 -2
View File
@@ -75,8 +75,8 @@
<!--- global settings --->
<cfset request.RECORDS_PER_PAGE=500/>s
<cfset request.APP_VERSION="0.00.055"/>
<cfset request.RECORDS_PER_PAGE=500/>
<cfset request.APP_VERSION="0.00.056"/>
<cfset request.STAND=getStand()/>
<cflock scope="application" type="readonly" timeout=3>
+48 -21
View File
@@ -191,21 +191,21 @@ select
<d:field title="Payload RAM GB used" cfSqlType="CF_SQL_NUMERIC">coalesce(u.vm_ram_used,0) as vm_ram_used</d:field>
<d:field title="RAM alloc %" cfSqlType="CF_SQL_NUMERIC">coalesce(round((u.vm_ram_alloc/h.gb_provisioned)::numeric,2)*100,0) as GB_alloc_perc</d:field>
<d:field title="RAM usage %" cfSqlType="CF_SQL_NUMERIC">coalesce(round((u.vm_ram_used/h.gb_provisioned)::numeric,2)*100,0) as GB_usage_perc</d:field>
<d:field title="Пере подписка vCPU" cfSqlType="CF_SQL_NUMERIC">coalesce(round((u.vm_cores/h.cores)::numeric,1),0) as oversubscription</d:field>
<d:field title="Пере подписка vCPU" cfSqlType="CF_SQL_NUMERIC">coalesce(round((u.vm_cores/h.cores)::numeric,1),0) as oversubscription</d:field><!--- не только по включенным --->
<d:field title="Payload cores" cfSqlType="CF_SQL_INTEGER">coalesce(u.vm_cores,0) as vm_cores</d:field>
<d:field title="Payload cores ВКЛ" cfSqlType="CF_SQL_INTEGER">coalesce(u.vm_cores_on,0) as vm_cores_on</d:field>
<d:field title="VMs" cfSqlType="CF_SQL_INTEGER">coalesce(u.vms,0) as vms</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="GB/pCore" cfSqlType="CF_SQL_NUMERIC">gb_per_core</d:field>
<d:field title="GB/pCore" cfSqlType="CF_SQL_NUMERIC">coalesce(h.gb_per_core,0) as 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 title="vSAN Total" cfSqlType="CF_SQL_NUMERIC">coalesce(s.total,0) as total</d:field>
<d:field title="vSAN Usable" cfSqlType="CF_SQL_NUMERIC">coalesce(s.usable,0) as usable</d:field>
<d:field title="vSAN Used" cfSqlType="CF_SQL_NUMERIC">coalesce(s.used,0) as used</d:field>
<d:field title="vSAN Effective Free" cfSqlType="CF_SQL_NUMERIC">coalesce(s.effective_free,0) as effective_free</d:field>
<d:field title="Disk Allocated" cfSqlType="CF_SQL_NUMERIC">u.disk_allocated</d:field>
<d:field title="Disk Used" cfSqlType="CF_SQL_NUMERIC">u.disk_used</d:field>
<d:field title="Disk Allocated" cfSqlType="CF_SQL_NUMERIC">coalesce(u.disk_allocated,0) as disk_allocated</d:field>
<d:field title="Disk Used" cfSqlType="CF_SQL_NUMERIC">coalesce(u.disk_used,0) as disk_used</d:field>
</d:field_set>
from cluster_stat h
@@ -230,12 +230,14 @@ select
,sum(gb_provisioned) as gb_provisioned
,sum(cores_in_service) as cores_in_service
,sum(vm_cores) as vm_cores
,sum(vm_cores_on) as vm_cores_on
,sum(vm_ghz_usage) as vm_ghz_usage
,sum(vm_ghz_reserved) as vm_ghz_reserved
,sum(vm_ghz_promised) as vm_ghz_promised
,sum(vm_ram_alloc) as vm_ram_alloc
,sum(vm_ram_used) as vm_ram_used
,sum(vms) as vms
,sum(vms_on) as vms_on
,sum(cores*ghz)/sum(cores) as ghz <!--- рискованно все же делить --->
,sum(disk_allocated) as disk_allocated
,sum(disk_used) as disk_used
@@ -400,15 +402,32 @@ 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>
<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
#numberFormat(vm_ghz_usage/vms_on,".0")#&nbsp;GHz
#numberFormat(vm_ghz_usage/vm_cores_on/ghz*100,"0")#%
#numberFormat(vm_ram_alloc/vms,".0")#(#numberFormat(vm_ram_used/vms_on,".0")#)&nbsp;GB
#numberFormat(disk_allocated/vms,".0")#(#numberFormat(disk_used/vms,".0")#)&nbsp;GB
<cfcatch></cfcatch></cftry></td>
<cfcatch><cfdump var=#cfcatch#></cfcatch></cftry></td> --->
<cftry>
<cfif vms NEQ 0>#numberFormat(vm_cores/vms,".0")#<cfelse> ? </cfif> &nbsp;core
<cfcatch type="any"></cfcatch></cftry>
<cftry>
<cfif vms_on NEQ 0>#numberFormat(vm_ghz_usage/vms_on,".0")#<cfelse> ? </cfif>&nbsp;GHz
<cfcatch type="any"><cfdump var=#cfcatch#></cfcatch></cftry>
<cftry>
<cfif vm_cores_on NEQ 0 AND ghz NEQ 0>#numberFormat(vm_ghz_usage/vm_cores_on/ghz*100,"0")#<cfelse> ? </cfif>%
<cfcatch type="any"><cfdump var=#cfcatch#></cfcatch></cftry>
<cftry>
<cfif vms NEQ 0>#numberFormat(vm_ram_alloc/vms,".0")#<cfelse> ? </cfif>(<cfif vms_on NEQ 0>#numberFormat(vm_ram_used/vms_on,".0")#<cfelse>?</cfif>)&nbsp;GB
<cfcatch type="any"><cfdump var=#cfcatch#></cfcatch></cftry>
<cftry>
<cfif vms NEQ 0>#numberFormat(disk_allocated/vms,".0")#(#numberFormat(disk_used/vms,".0")#)<cfelse> ? </cfif>&nbsp;GB
<cfcatch type="any"><cfdump var=#cfcatch#></cfcatch></cftry>
</td>
</tr>
</cfoutput>
<cfoutput query="qTotal">
<tr class="b">
<td colspan="4" class="r b"> Итого</td>
@@ -441,23 +460,31 @@ from qRead
<td class="r">#vms#</td>
<td class="r">
<cftry>
<cfif vms NEQ 0>#numberFormat(vm_cores/vms,".0")#&nbsp;core</cfif>
<cfif vms NEQ 0>#numberFormat(vm_ghz_usage/vms,".0")#&nbsp;GHz</cfif>
<cfif vm_cores NEQ 0 AND ghz NEQ 0>#numberFormat(vm_ghz_usage/vm_cores/ghz*100,"0")#%</cfif> <!--- *** тут не уверен --->
<cfif vms NEQ 0>#numberFormat(vm_ram_alloc/vms,".0")#(#numberFormat(vm_ram_used/vms,".0")#)&nbsp;GB</cfif>
<cfif vms NEQ 0>#numberFormat(disk_allocated/vms,".0")#(#numberFormat(disk_used/vms,".0")#)&nbsp;GB</cfif>
<cfcatch></cfcatch></cftry>
<cfif vms NEQ 0>#numberFormat(vm_cores/vms,".0")#<cfelse> ? </cfif> &nbsp;core
<cfcatch type="any"></cfcatch></cftry>
<cftry>
<cfif vms_on NEQ 0>#numberFormat(vm_ghz_usage/vms_on,".0")#<cfelse> ? </cfif>&nbsp;GHz
<cfcatch type="any"><cfdump var=#cfcatch#></cfcatch></cftry>
<cftry>
<cfif vm_cores_on NEQ 0 AND ghz NEQ 0>#numberFormat(vm_ghz_usage/vm_cores_on/ghz*100,"0")#<cfelse> ? </cfif>%
<cfcatch type="any"><cfdump var=#cfcatch#></cfcatch></cftry>
<cftry>
<cfif vms NEQ 0>#numberFormat(vm_ram_alloc/vms,".0")#<cfelse> ? </cfif>(<cfif vms_on NEQ 0>#numberFormat(vm_ram_used/vms_on,".0")#<cfelse>?</cfif>)&nbsp;GB
<cfcatch type="any"><cfdump var=#cfcatch#></cfcatch></cftry>
<cftry>
<cfif vms NEQ 0>#numberFormat(disk_allocated/vms,".0")#(#numberFormat(disk_used/vms,".0")#)<cfelse> ? </cfif>&nbsp;GB
<cfcatch type="any"><cfdump var=#cfcatch#></cfcatch></cftry>
</td>
</tr>
</cfoutput>
</table>
<!--- <cfdump var=#qCharge#/> --->
<!--- <cfdump var=#qTotal#/> --->
<i>Пока выводим избыточный набор колонок для контроля. Кроме того, еще не выбрали, какие колонки удобнее и релевантнее</i>
<br/>
<i>* CPU GHz provision rate % - отношение зарезервированной частоты (с учетом 20% резерва по умолчанию) к наличной частоте процессоров</i>
<br/>
<i>* Для средней ВМ указана аллоцированная память, а в скобках - используемая, далее аллоцированное дисковое пространство, в скобках используемое. Диск считается без разделения по политикам (2do) </i>
<i>* Для средней ВМ указана аллоцированная память, в скобках - используемая, далее аллоцированное дисковое пространство, в скобках используемое. Диск считается без разделения по политикам (2do). ГГц на ВМ, процент загрузки ядер (** проверить), используемая память - считается по включенным ВМ. Количество ядер, аллоцированная память и диск - по всем ВМ</i>
<br/>
<!--- <cfchart
format="png"