2017-08-04 186 views
0

过滤搬运工容器我已经运行几个搬运工容器:普罗米修斯查询用于监控的名义和形象

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)和普罗米修斯容器建造。

我可以通过图像与这种类型的查询过滤容器:

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

正如你看到的,我得到三个容器的图(flatlines,因为他们再无所事事)。 enter image description here

现在我想添加额外的过滤器参数它DOWS不行

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

我想要得到的是:三个图表从图像“Ubuntu的”衍生容器和一个用名称“普罗米修斯”无论原始图像

回答

1

你不能用一个选择器做到这一点。

这里适当的解决方案是使用Grafana,它支持在一张图上绘制多个表达式。

在这个层面上,你可以做的最好的是rate(container_network_receive_bytes_total{image="ubuntu"} [1m] or rate(container_network_receive_bytes_total{name="prometheus"}[1m]

+0

我有grafana,cAdvisor,Promethues堆栈。你能否为Grafana查询写下表达式?如果可能。 – Demaunt