美文网首页Prometheus/监控监控容器
Prometheus监控多台Docker服务器

Prometheus监控多台Docker服务器

作者: 阿当运维 | 来源:发表于2021-05-19 11:18 被阅读0次

数据采集器:
cAdvisor (Container Advisor) :用于收集正在运行的容器资源使用和性能信息。
项目地址:https://github.com/google/cadvisor

规划:
192.168.1.112 --run nginx容器
192.168.1.252--run nginx ,jenkins容器

在被监控端run一个cAdvisor

分别在112和252上执行(我的宿主机8080被占用,所以映射8090-->容器的8080)

docker run -d \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8090:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest

启动完成,查看接口能否访问到(默认是http://192.168.1.112:8090/containers图形化展示,加载较慢)
http://192.168.1.112:8090/metrics
http://192.168.1.252:8090/metrics

image.png

Prometheus添加被监控端

vim prometheus.yml 在scrape_configs: 下添加

 - job_name: 'docker'
    metrics_path: '/metrics'
    static_configs:
    - targets: ['192.168.1.252:8090','192.168.1.112:8090']

重启服务或者kill -HUP PID 热加载 ,让配置生效。
访问prometheus页面。


image.png

成功监控到了。现在我们可以用http://192.168.1.112:8090/metrics 中采集数据的字段去联合grafana定义图表了,如

image.png
image.png

Grafana是通过读取prometheus数据源来展示数据,那prometheus的数据又是从采集器接口搜集出来的值那来的。

Grafana添加图表

docker推荐模板ID :193


image.png
image.png

这里可以看到两台docker机器只显示了一台,现在需要添加一个导航栏来显示多个。
点击设置

image.png

Node为设置的变量,
Label为导航栏标签,
选择数据源prometheus,
在仪表盘加载,
promql语句,将up,instance标签筛选出机器列表。这里的结果展示在label的选择下拉框中
正则匹配: docker主机都是启动8090端口采集,所以要匹配一下。

保存后,在点击每个图表,编辑,在语句那里加入,instance="$Node"

image.png

大功告成。


image.png
image.png

相关文章

网友评论

    本文标题:Prometheus监控多台Docker服务器

    本文链接:https://www.haomeiwen.com/subject/andyjltx.html