![](/img/trans.png)
[英]Divide two Prometheus metrics that don't have the same dimension set?
[英]Divide two metrics in prometheus
我有兩個指標,來自電報。
第一個指標
vsphere_host_mem_active_average{esxhostname=~"esx1"}
給出一個值
vsphere_host_mem_active_average{clustername="BCH1",collector="telegraf",dcname="DC",esxhostname="esx1",host="vm01",hostname="hostname1",instance="localhost:9273",job="vSphere",moid="host-78563",source="esx1",type="vmware",vcenter="vmc"} 17763152
第二個
vsphere_vm_mem_granted_average{esxhostname=~"esx1"})
給出幾個不同的標簽
1.
vsphere_vm_mem_granted_average{clustername="BCH1",dcname="DC",esxhostname="esx1",guest="debian9_64",host="vm01",moid="vm-79139",source="vm01",uuid="42244f7b-abeb-92be-3e67-af19a9d8dfbd",vcenter="vmc",vmname="vm01"} 4.19418e+06
2.
vsphere_vm_mem_granted_average{clustername="BCH1",dcname="DC",esxhostname="esx1",guest="debian9_64",host="vm01",moid="vm-79146",source="vm01",uuid="4224ed0c-f306-202c-fc99-35e48fe52370",vcenter="vmc",vmname="vm02"} 8.377904e+06
是否有可能獲得每個標簽集的第一個值除以第二個值的結果?
Prometheus 對每對時間序列分別應用算術運算符,例如/
、 -
、 +
、 *
,在運算符的兩側具有相同的標簽集(忽略度量名稱)。 如果沒有具有相同標簽的時間序列對,則 Prometheus 不返回任何內容。 有關更多詳細信息,請參閱這些文檔。 可以通過應用on()
、 ignoring( ignoring()
、 group_left()
和group_right()
修飾符來增強此行為 - 請參閱這些文檔。
因此,如果您需要將單個時間序列除以具有不同標簽集的其他兩個時間序列,那么以下 PromQL 查詢應該可以工作:
vsphere_host_mem_active_average{esxhostname=~"esx1"}
/ on() group_right()
vsphere_vm_mem_granted_average{esxhostname=~"esx1"}
on()
修飾符指示 Prometheus 將標簽集限制為空集,標簽集用於查找/
運算符左側和右側具有相同標簽的時間序列對。 on()
修飾符處的空列表自動將/
運算符左側的任何時間序列與/
運算符右側的任何時間序列匹配。
group_right()
修飾符指示 Prometheus 將/
/
符右側的每個時間序列。 生成的時間序列包含來自右側時間序列的標簽。 通過在group_right()
修飾符中枚舉它們,可以將左側時間序列的其他標簽添加到結果中。
也許我沒有完全正確地解釋這個問題,但是如果您想將 2 個指標分開,您只需在 PromQL 中使用“/”運算符,此處記錄: https ://prometheus.io/docs/prometheus/latest/querying /運營商/
作為使用上述值的示例,您將使用的查詢類似於:
(vsphere_host_mem_active_average{clustername="BCH1",collector="telegraf",dcname="DC",esxhostname="esx1",host="vm01",hostname="hostname1",instance="localhost:9273",job="vSphere",moid="host-78563",source="esx1",type="vmware",vcenter="vmc"}/vsphere_vm_mem_granted_average{clustername="BCH1",dcname="DC",esxhostname="esx1",guest="debian9_64",host="vm01",moid="vm-79139",source="vm01",uuid="42244f7b-abeb-92be-3e67-af19a9d8dfbd",vcenter="vmc",vmname="vm01"})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.