Prometheus+Grafana+cAdvisor to Monitor Docker

本文最后更新于:2024年8月9日 晚上


Prometheus+Grafana+cAdvisor to Monitor Docker

监控系统概述

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

Prometheus(普罗米修斯):容器监控系统。
官网地址:https://prometheus.io
开源地址:https://github.com/prometheus

Grafana是一个开源的度量分析和可视化系统。
开源地址:https://grafana.com/grafana

工作流:

cAdvisor (采集所有容器资源利用率)->Prometheus(收集与存储)->Grafana(可视化展示)

监控系统部署

  • Docker部署cAdvisor
1
2
3
4
5
6
7
8
[root@bo ~]# docker run -d --name=cadvisor \
--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=8080:8080 \ # 信息采集URL将会是http://<host_ip>:8080/metrics
google/cadvisor:latest

image-20230116131056702

以下部署的监控或者其他信息采集URL都默认都将是http://<host_ip>:<port>/metrics

  • Docker部署Prometheus
1
2
3
4
5
6
7
# 首次运行Prometheus,并把/etc/prometheus配置copy出来
[root@bo ~]# docker run -d --rm --name=prometheus -p 9099:9090 prom/prometheus
[root@bo ~]# docker cp prometheus:/etc/prometheus/prometheus.yml /mnt/prometheus/
[root@bo ~]# docker rm -f prometheus
# 再次运行Prometheus,将其配置文件持久化到本地,方便修改
[root@kvm ~]# docker run -d --rm --name=prometheus -p 9099:9090 \
-v /mnt/prometheus/:/etc/prometheus/ prom/prometheus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 修改prometheus配置
# 注意yaml语法格式缩进,可以默认在vim设置一个tab两个缩进 tw=2 sw=2
[root@bo ~]# echo "set ts=2 sw=2" >>/etc/vimrc
[root@bo ~]# vim /mnt/prometheus/prometheus.yml
# 被监控端配置
scrape_configs:
- job_name: "docker-monitor" # job表示分组,通过job_name定义组名,给组员打上标签方便管理
static_configs:
- targets: ["192.168.3.22:8080"] # targets表示被监控端instances
- job_name: "node-exporter"
static_configs:
- targets: ["192.168.3.22:9100"]
- job_name: "Prometheus"
static_configs:
- targets: ["192.168.3.22:9099"]
# 如果一个Job里面由多个数据节点需要监控,可以参考如下配置:
#- job_name: "Prometheus"
# static_configs:
# - targets: ["10.9.169.146:8080","192.168.0.164:8080"] # 增加一个待监控节点
[root@bo ~]# docker restart prometheus

image-20230116132735805

image-20230116132922290

1
2
[root@bo ~]# docker run -d --name=grafana -p 3000:3000 grafana/grafana-oss
# 默认登录密码admin/admin

Grafana展示

  • 添加grafana数据源(Home->Add DataSource->Prometheus-save&test

image-20230116134431790

image-20230116134402040

image-20230116134538087

  • 监控docker主机模板(Dashboards ->Import-193-load )

    监控Docker主机模板ID:193,根据ID添加监控模版

image-20230116135716332


Prometheus+Grafana+cAdvisor to Monitor Docker
https://git.msft.vip/2023/01/16-Prometheus-Grafana-cAdvisor-to-Monitor-Docker/
作者
Jas0n0ss
发布于
2023年1月16日
更新于
2024年8月9日
许可协议