簡體   English   中英

Prometheus查詢以監視按名稱和圖像過濾的Docker容器

[英]Prometheus query for monitoring docker containers filtered by name and image

我有幾個正在運行的Docker容器:

docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                    NAMES
736caaa764f4        ubuntu               "/bin/bash"              2 hours ago         Up 2 hours                                   quirky_morse
e2869c98ee1a        ubuntu               "/bin/bash"              2 hours ago         Up 2 hours                                   sleepy_wilson
e4149472a2da        ubuntu               "/bin/bash"              2 hours ago         Up 2 hours                                   cranky_booth
70bb44ac5d24        grafana/grafana      "/run.sh"                2 hours ago         Up 2 hours          0.0.0.0:3000->3000/tcp   microservicemonitoring_grafana_1
e4b30881a83e        prom/prometheus      "/bin/prometheus -..."   2 hours ago         Up 2 hours          0.0.0.0:9090->9090/tcp   prometheus
281f792380f9        prom/node-exporter   "/bin/node_exporte..."   2 hours ago         Up 2 hours          9100/tcp                 node-exporter
17810c718b29        google/cadvisor      "/usr/bin/cadvisor..."   2 hours ago         Up 2 hours          8080/tcp                 microservicemonitoring_cadvisor_1
77711de421e2        prom/alertmanager    "/bin/alertmanager..."   2 hours ago         Up 2 hours          0.0.0.0:9093->9093/tcp   microservicemonitoring_alertmanager_1

我要做的是為按名稱和圖像過濾的容器構建圖形。 示例:從ubuntu容器( quirky_morsesleepy_wilsoncranky_booth )和prometheus容器構建

我可以使用這種類型的查詢按圖像過濾容器:

sum by (name) (rate(container_network_receive_bytes_total{image="ubuntu"} [1m] ) )

如您所見,我得到了三個容器的圖形(扁平線,因為它們什么都不做)。 在此處輸入圖片說明

現在我想添加其他過濾器參數名稱 ,它不會起作用

sum by (name) (rate(container_network_receive_bytes_total{image="ubuntu", name="prometheus"} [1m] ) )

我想要得到的是:源自圖像“ ubuntu”的三個容器圖,以及一個名稱為“ prometheus”的容器,無論原始圖像是什么

您不能使用一個選擇器來執行此操作。

正確的解決方案是使用Grafana,它支持在一個圖上繪制多個表達式。

在此級別上,您可以做的最好的事情就是rate(container_network_receive_bytes_total{image="ubuntu"} [1m] or rate(container_network_receive_bytes_total{name="prometheus"}[1m]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM