我正在尝试从总可用内存中编写一个查询,用于计算ESXi主机上VM的总配置内存。我只想包括为激活/启用VM提供的内存。我有三个基本的度量标准,如果可能的话,我想将它们结合起来,以获得这些数据。
vmware_host_memory_maxvmware_vm_memory_maxvmware_vm_power_state如果我使用这个查询sum by (host_name) (vmware_vm_memory_max) / sum by (host_name) (vmware_host_memory_max),看起来我已经准备过度了,因为有相当多的VM是关闭的,但是对于给定的ESXi主机,它们仍然包含在整个ESXi中。我想让Prometheus忽略任何有vmware_vm_power_state of 0的vm,因为它是关闭的,不实际使用任何资源。或者另一种说法是,只有在vm具有vmware_vm_power_state of 1的情况下才会包含vm。
度量标准来自这里的出口商:出口商
发布于 2021-11-24 15:25:26
我想我找到了解决办法..。虽然我不确定。下面的查询似乎给出了VM的所有配置内存之和,这些内存被激活,除以运行在ESXi主机上的可用内存总量。
sum by (host_name) (vmware_vm_memory_max and (vmware_vm_power_state == 1)) / sum by (host_name) (vmware_host_memory_max) * 100如果这是错误的或有更好的解决办法,请告诉我!
https://stackoverflow.com/questions/70088980
复制相似问题