如何使用 PromQL 来使用这两个指标?
how could I get usage with this two metrics by using PromQL?
我在kubernetes中部署了prometheus2.0,然后我需要知道每个pods的内存使用情况。
我找到两个指标:container_memory_usage_bytes 和 kube_pod_container_resource_limits_memory_bytes,以及 sum(container_memory_usage_bytes) by (pod_name) show pods memory used bytes which already consumed ,sum(kube_pod_container_resource_limits_memory_bytes) by (pod) 显示 pods 由 kubernetes 配置的内存限制,我只是计算这两个值然后我可以获得所有 pods 内存使用情况。
但这两个指标显示不同的矢量名称,见下文
sum(kube_pod_container_resource_limits_memory_bytes) by (pod)
Element Value
{pod="calico-node-lwmk4"} 536870912
{pod="security-1-0-1857679549-cbg5m"} 4294967296
{pod="msi-joomla-1-0-2319985720-kvjlg"} 536870912
sum(container_memory_usage_bytes) By (pod_name)
Element Value
{pod_name="calico-node-lwmk4"} 90996736
{pod_name="security-1-0-1857679549-cbg5m"} 627601408
{pod_name="msi-joomla-1-0-2319985720-kvjlg"} 59744665
如何使用 PromQL 使用这两个指标?
您可以通过以下几种方式处理此问题。最好的是 metric_relabel_configs 用于 cadvisor(因为 cadvisor 不遵循命名约定):
metric_relabel_configs:
- source_labels: [pod_name] # Copy pod_name to pod
target_label: pod
- replacement: '' # Remove pod_name label by setting it to empty
target_label: pod_name
我在kubernetes中部署了prometheus2.0,然后我需要知道每个pods的内存使用情况。 我找到两个指标:container_memory_usage_bytes 和 kube_pod_container_resource_limits_memory_bytes,以及 sum(container_memory_usage_bytes) by (pod_name) show pods memory used bytes which already consumed ,sum(kube_pod_container_resource_limits_memory_bytes) by (pod) 显示 pods 由 kubernetes 配置的内存限制,我只是计算这两个值然后我可以获得所有 pods 内存使用情况。
但这两个指标显示不同的矢量名称,见下文
sum(kube_pod_container_resource_limits_memory_bytes) by (pod)
Element Value
{pod="calico-node-lwmk4"} 536870912
{pod="security-1-0-1857679549-cbg5m"} 4294967296
{pod="msi-joomla-1-0-2319985720-kvjlg"} 536870912
sum(container_memory_usage_bytes) By (pod_name)
Element Value
{pod_name="calico-node-lwmk4"} 90996736
{pod_name="security-1-0-1857679549-cbg5m"} 627601408
{pod_name="msi-joomla-1-0-2319985720-kvjlg"} 59744665
如何使用 PromQL 使用这两个指标?
您可以通过以下几种方式处理此问题。最好的是 metric_relabel_configs 用于 cadvisor(因为 cadvisor 不遵循命名约定):
metric_relabel_configs:
- source_labels: [pod_name] # Copy pod_name to pod
target_label: pod
- replacement: '' # Remove pod_name label by setting it to empty
target_label: pod_name