标签搜索

目 录CONTENT

文章目录

Grafana+cAdvisor+Promethus监控微服务容器运行情况

陈铭
2023-09-13 / 0 评论 / 0 点赞 / 144 阅读 / 365 字 / 正在检测是否收录...

安装cAdvisor

创建一个网络,方便cAdvisor、Promethus互相通信

docker network create monitor

创建容器,因为挂载了根目录和docker,因此cAdvisor可以监控到宿主机和docker服务

docker run \
  --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=6543:8080 \
  --detach=true \
  --net monitor \
  --name=cadvisor \
  --restart=always \
  --privileged \
  --device=/dev/kmsg \
  google/cadvisor:latest

即可访问http://ip:6543查看到cAdvisor

安装Promethus

挂载配置文件到宿主机
vim /opt/prometheus/conf/prometheus.yml,这里直接使用容器名- targets: ["cadvisor:8080"],是因为cAdvisor和Promethus在docker的同一个网络下

global:
  scrape_interval: 15s
  evaluation_interval: 15s
 
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093
 
rule_files:
  - rule/record/*.yml
 
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      # Promethus节点
      - targets: ["localhost:9090"]
  - job_name: "cadvisor"
    static_configs:
      # cAdvisor节点
      - targets: ["cadvisor:8080"]

启动容器后,可以访问http://ip:9390查看到Promethus

docker run -d \
-p 9390:9090 \
--name prometheus \
--net monitor \
--restart=always \
-v /opt/prometheus/data:/data \
-v /opt/prometheus/conf/prometheus.yml:/data/prometheus.yml \
prom/prometheus \
--config.file=/data/prometheus.yml --web.enable-lifecycle --storage.tsdb.retention=90d

当能够正常采集到cAdvisor的样本数据后,在prometheus控制台可以通过以下表达式计算容器的CPU使用率:

sum(irate(container_cpu_usage_seconds_total{image!=""}[1m])) without (cpu)

仪表盘

# 安装Grafana
docker run -d --name=grafana -p 3000:3000 -v grafana:/var/lib/grafana grafana/grafana

Grafana配置好数据源,使用仪表盘代码11277,效果如下
image-1694594582868

0

评论区