12.docker入门到精通—容器监控-CIG
创始人
2025-06-01 04:30:43
0

Docker 容器监控之 CAdvisor+InfluxDB+Granfana

1.原生命令

问题:

通过 docker stats 命令可以很方便的看到当前宿主机上所有容器的 CPU,内存以及网络流量等数据,一般小公司够用了。。。。

但是,docker stats 统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能.

2.是什么?

容器监控 3 剑客:CAdvisor 监控收集+InfluxDB 存储数据+Granfana 展示图表

3. compose 容器编排cig

3.1 新建目录

mkdir /mydocker/cig
cd /mydocker/cig

3.2 新建 3 件套 (docker-compose.ymlCAdvisor+InfluxDB+Granfana) 的组合docker-compose.yml

 
version: '3.1'volumes:grafana_data: {}services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:-PRE_CREATE_DB=cadvisorports:-"8083:8083"-"8086:8086"volumes:- ./data/influxdb:/datacadvisor:image: google/cadvisorlinks:- influxdb:influxsrvcommand: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086restart: alwaysports:-"8080:8080"volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rografana:user: "104"image: grafana/grafanauser: "104"restart: alwayslinks:- influxdb:influxsrvports:-"3000:3000"volumes:- grafana_data:/var/lib/grafanaenvironment:-HTTP_USER=admin-HTTP_PASS=admin-INFLUXDB_HOST=influxsrv-INFLUXDB_PORT=8086-INFLUXDB_NAME=cadvisor-INFLUXDB_USER=root-INFLUXDB_PASS=root

解释说明:

version: '3.1'                #必须是3.0以上才能运行docker-composevolumes:grafana_data: {}            #实现了grafana数据的挂载services:                    #表示我们要启动的服务,即要docker run的内容,多个实例服务influxdb:                    image: tutum/influxdb:0.9restart: alwaysenvironment:-PRE_CREATE_DB=cadvisor    #预先创建一个数据库,创建一个数据库一样ports:-"8083:8083"        #对外是8083-"8086:8086"        #内部即8086volumes:- ./data/influxdb:/data    #B 从A-B即influxdb服务,拉取的镜像,安装的环境,暴露的端口,下面的cadvisor,grafana都是一样的cadvisor:image: google/cadvisorlinks:- influxdb:influxsrvcommand: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086 #这就是相当于mysql选择的那个驱动restart: alwaysports:-"8080:8080"volumes:- /:/rootfs:ro    - /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:ro        #四个容器数据卷grafana:user: "104"image: grafana/grafanauser: "104"restart: always                            #因为有restart,所以如影随形,随着docker启动,就启动links:- influxdb:influxsrvports:-"3000:3000"volumes:- grafana_data:/var/lib/grafanaenvironment:-HTTP_USER=admin-HTTP_PASS=admin-INFLUXDB_HOST=influxsrv-INFLUXDB_PORT=8086-INFLUXDB_NAME=cadvisor-INFLUXDB_USER=root-INFLUXDB_PASS=root#千言万语一句话,全部由docker-compose一键部署

3.3 检查配置

docker compose config -q# 检查配置,有问题才有输出

3.4 启动 docker-compose 文件

  docker compose up -d  后台启动

3.5 查看三个服务容器是否启动

docker ps

3.6 测试

3.6.1 浏览 cAdvisor 收集服务,http://192.168.3.15:8080/

cadvisor 也有基础的图形展现功能,这里主要用它来作数据采集(收集实时数据)

3.6.2 浏览 influxdb 存储服务,http://192.168.3.15:8083/
3.6.3 浏览 grafana 展现服务,http://192.168.3.15:3000/

默认帐户密码(admin/admin)

配置步骤:

1.配置数据源

2.选择 influxdb 数据源

2.配置面板panel

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...