From 98af1aa4b9d811bd63ba41fc737b154063cd0cbf Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 21 Aug 2026 22:01:53 +0300 Subject: [PATCH] 078 improvements --- Application.cfc | 2 +- gpu_ls.cfm | 145 +++++++++++------------------------------------- inc/menu.cfm | 1 + payg.cfm | 88 ++++++++++++++++++++++++++++- 4 files changed, 121 insertions(+), 115 deletions(-) diff --git a/Application.cfc b/Application.cfc index bc6b460..996de64 100644 --- a/Application.cfc +++ b/Application.cfc @@ -86,7 +86,7 @@ - + diff --git a/gpu_ls.cfm b/gpu_ls.cfm index 13130b8..c6c6ffa 100644 --- a/gpu_ls.cfm +++ b/gpu_ls.cfm @@ -10,25 +10,13 @@ - -select "Name", "Object_UUID", "UUID_VM", -"VDC", "Organization_UUID", "Organization", "WZ", "Cluster", "Host", -"Host_Model", "CPU_Model", "Host_CPU_Cores", "Host_CPU_Sockets", "Host_CPU_Speed", "Host_RAM", -"Host_CPU_Used", "Host_CPU_Used_Avg", -"VDC_CPU_Reserv", "VDC_CPU_Speed", -"VM_vCPU_count", "VM_CPU_Used", "VM_CPU_Used_AVG", "VM_CPU_Reserv_GHz", "VM_CPU_Reserv_perc", -"VM_RAM_Allocated", "VM_RAM_Used", -"VM_is_ON", -k.__id as company_uid -from vmreports.compute c -left outer join elma.companies k ON (lower(k.id_klienta)=lower(c."WZ")) -where c.ts=(select max(ts) from vmreports.compute) ---order by "WZ" + +select obj_uuid, obj_id, client_id as WZ, vcd, org, org_vdc, vcenter, gpu, dt_load, dt_load_ts, org_status, cluster as clus, is_template +from gpu.vm +order by client_id - - - - + + @@ -40,7 +28,7 @@ where c.ts=(select max(ts) from vmreports.compute) ---> - Сверка CRM - Cloud + VM с GPU @@ -51,111 +39,44 @@ where c.ts=(select max(ts) from vmreports.compute) - - +
-#qVM.recordCount# +#qGPU.recordCount# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - +
WZИмяУникальное имяOrganizationVDCVDC CPU ReservVDC CPU Speed GHzClusterHostHost ModelCPU ModelHost CPU CoresHost CPU SocketsHost CPU Speed GHzHost RAM GBHost CPU UsedHost CPU Used_AvgVM vCPU countVM CPU UsedVM CPU Used AVGVM CPU Reserv GHzVM CPU Reserv percVM RAM Allocated GBVM RAM Used GBVM is ONWZobj_uuidobj_idorgorg_vdcgpudt_loaddt_load_tsclusteris_template
#WZ##Name##UUID_VM##Organization##VDC##round(VDC_CPU_Reserv,3)##round(VDC_CPU_Speed,3)##qVM.Cluster##Host##Host_Model##CPU_Model##Host_CPU_Cores##Host_CPU_Sockets##round(Host_CPU_Speed,3)##round(Host_RAM)##round(Host_CPU_Used,1)##round(Host_CPU_Used_Avg,1)##VM_vCPU_count##round(VM_CPU_Used,1)##round(VM_CPU_Used_AVG,1)##round(VM_CPU_Reserv_GHz,1)##VM_CPU_Reserv_perc##VM_RAM_Allocated##round(VM_RAM_Used)##VM_is_ON#
#WZ##obj_uuid##obj_id##org##org_vdc##gpu##dateFormat(dt_load, "YYYY-MM-DD")# #timeFormat(dt_load, "HH:MM")##dateFormat(dt_load_ts, "YYYY-MM-DD")# #timeFormat(dt_load_ts, "HH:MM")##clus##is_template#
diff --git a/inc/menu.cfm b/inc/menu.cfm index 6552fe0..9776730 100644 --- a/inc/menu.cfm +++ b/inc/menu.cfm @@ -18,6 +18,7 @@ + diff --git a/payg.cfm b/payg.cfm index eeaff40..f8a556e 100644 --- a/payg.cfm +++ b/payg.cfm @@ -15,6 +15,7 @@ + @@ -89,6 +90,9 @@ AND p.cnt <> 0 --похоже, только так можно отфильтровать паразитные строки с нулем AND k.id_klienta like + + + AND p.code like --AND k.id_klienta='WZ01031' --AND k.id_klienta='WZ01112' @@ -329,33 +333,112 @@ select qS3OpsTrfAge:#getTickCount()-request.startTickCount# + + + + + + + + WITH card (model, cluster, code) as (VALUES + ('A100', 'msk1-pub02-i31', 'iaas.ngc.i31.gpu80'), + ('H100', 'msk1-pub07-a40', 'iaas.ngc.a40.gpuh100'), -- h200 нет в отчете + ('RTX 4090', 'msk1-pcs05-a45', 'iaas.ngc.a45.gpu4090'), -- нет такого в каталоге + ('RTX 5090', 'msk1-pcs05-a45', 'iaas.ngc.a45.gpu5090'), + ('RTX 6000', 'msk1-pub07-a40', 'iaas.ngc.a40.gpu6k'), + ('nvidia_a16-16q', 'msk1-pub07-a40', 'iaas.ngc.a40.gpu16'), + ('nvidia_a16-16q', 'msk1-pub01-i29', 'iaas.ngc.i29.gpu16'), + ('nvidia_a16-1b', 'msk1-pub07-a40', 'iaas.ngc.a40.gpu1'), + ('nvidia_a16-2q', 'msk1-pub07-a40', 'iaas.ngc.a40.gpu2'), + ('nvidia_a16-4q', 'msk1-pub07-a40', 'iaas.ngc.a40.gpu4'), + ('nvidia_rtx_pro_6000_blackwell_dc-4q', 'msk1-pub07-a40', 'iaas.ngc.a40.gpu6k4') + ) + SELECT item.key AS gpu_model, c.code + ,SUM(item.value::int*p.value)/12. AS gpu_h -- 5 minute sampling + ,vm.obj_id, upper(trim(vm.client_id)) as WZ + FROM gpu.vm + CROSS JOIN LATERAL jsonb_each(vm.gpu) AS item(key, value) + LEFT OUTER JOIN card c ON (item.key=c.model) + JOIN gpu.vm_power_state p ON (vm.obj_uuid=p.obj_uuid) + WHERE NOT vm.is_template + AND p.ts >= + AND p.ts < + GROUP BY vm.client_id, item.key, c.code, vm.obj_id + ORDER BY vm.client_id, item.key, c.code, vm.obj_id; + + +qGpu:#getTickCount()-request.startTickCount# + + + + + + + + select max(dt_load) as dt_load from gpu.vm + + +qGpuAge:#getTickCount()-request.startTickCount# + + + + + select wz, code || '.vcpu' as code, core_h as raw_metric, core_h as metric, 'core-h' as unit, vdc as dimension1 from qComputing + + where code || '.vcpu' like + union all select wz, code || '.ram', gb_h as raw_metric, gb_h as metric, 'GByte-h' as unit, vdc as dimension1 from qComputing + + where code || '.ram' like + union all select wz, code, gb_m_used as raw_metric, gb_m_used as metric, 'GByte-m' as unit, vdc ||':'|| profile as dimension1 from qStorage + + where code like + union all select wz, code || '.vol', vol_b as raw_metric, vol_gb as metric, 'GByte-m' as unit, bucket as dimension1 from qS3Vol + + where code || '.vol' like + union all -select wz, code || '.get', get as raw_metric, get_10k as metric, '10k' as unit, bucket as dimension1 +select wz, code || '.vol', get as raw_metric, get_10k as metric, '10k' as unit, bucket as dimension1 from qS3OpsTrf + + where code || '.vol' like + union all select wz, code || '.put', put as raw_metric, put_10k as metric, '10k' as unit, bucket as dimension1 from qS3OpsTrf + + where code || '.put' like + union all select wz, code || '.trf', bytes_sent as raw_metric, bytes_sent_gb as metric, 'GByte' as unit, bucket as dimension1 from qS3OpsTrf + + where code || '.trf' like + + +union all +select wz, code, gpu_h as raw_metric, gpu_h as metric, 'h' as unit, obj_id as dimension1 +from qGpu + + where code like + order by wz, code @@ -499,7 +582,8 @@ ORDER BY coalesce(coalesce(c.wz, m.wz), s.wz), coalesce(s.code, m.code) Период с по Только PAYG checked
/> -WZ по вхождению подстроки, с учетом регистра +WZ по вхождению, с регистром +Код >по вхождению