16. Docker容器监控CAdvisor+InfluxDB+Granfana
  788FupOhhDTZ 2023年11月02日 30 0


目录

1、前言

2、原始命令

3、CAdvisor+InfluxDB+Granfana

3.1、什么是CAdvisor

3.2、什么是Influxdb

3.3、什么是Granfana

4、安装使用

4.1、安装influxdb

4.2、安装CAdvisor

4.3、安装Granfana

4.4、访问Influxdb

4.5、创建CAdvisor数据库

4.6、访问CAdvisor

4.7、Grafana配置


1、前言

容器监控方式有很多种,上一篇我们介绍了Uptime Kuma。这类一般用于检测docker应用健康状态,而今天要介绍的监控神器更多偏向于Docker的硬件资源监控,如CPU,内存,磁盘IO等,那就是cAdvisor,可以通过配合Prometheus/incAdvisor 是谷歌公司用来分析运行中的 Docker 容器的资源占用以及性能特性的工具。

cAdvisor 是一个运行中的守护进程用来收集、聚合、处理和导出运行容器相关的信息,每个容器保持独立的参数、历史资源使用情况和完整的资源使用数据。当前支持 lmctfy 容器和 Docker 容器。fluxdb,以及Grafana来进行数据的监控告警。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_容器

2、原始命令

通常我们部署的Docker容器会使用命令来查看当前docker所使用的资源情况:

docker stats

16. Docker容器监控CAdvisor+InfluxDB+Granfana_数据_02

3、CAdvisor+InfluxDB+Granfana

3.1、什么是CAdvisor

cAdvisor 是谷歌公司用来分析运行中的 Docker 容器的资源占用以及性能特性的工具。

cAdvisor 是一个运行中的守护进程用来收集、聚合、处理和导出运行容器相关的信息,每个容器保持独立的参数、历史资源使用情况和完整的资源使用数据。当前支持 lmctfy 容器和 Docker 容器。

cAdvisor 还具有内置 UI,它还允许您将收集的数据导出到不同的存储驱动程序插件。

3.2、什么是Influxdb

Influxdb是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。我们后面启动CAdvisor容器时,会指定存储的方式就为Influxdb。

3.3、什么是Granfana

Granfana是一款可视化度量分析和可视化套件,常用于可视化基础设施和应用程序分析,与Kibana类似,UI更加灵活,且插件丰富。

4、安装使用

4.1、安装influxdb

我们先安装存储数据库。

拉取镜像:

docker pull tutum/influxdb

启动容器:

docker run -d -p 8086:8086 -p 8083:8083 --name influxdb -v /data/docker/influxdb:/var/lib/influxdb --restart=always tutum/influxdb

其中8083为web管理页面的端口,8086为写数据库的端口。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_Docker_03

4.2、安装CAdvisor

拉取镜像:

docker pull google/cadvisor

16. Docker容器监控CAdvisor+InfluxDB+Granfana_Docker_04

启动容器,并指定存储方式为influxdb:

docker run -p 8080:8080 --detach=true --link influxdb:influxdb --name=cadvisor google/cadvisor:latest -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086

16. Docker容器监控CAdvisor+InfluxDB+Granfana_容器_05

4.3、安装Granfana

拉取镜像:

docker pull grafana/grafana

启动容器:

docker run -d \
  -p 3000:3000 \
  -e INFLUXDB_HOST=localhost \
  -e INFLUXDB_PORT=8086 \
  -e INFLUXDB_NAME=cadvisor \
  -e INFLUXDB_USER=root -e INFLUXDB_PASS=root \
  --link influxdb:influxdb \
  --name grafana \
  grafana/grafana

16. Docker容器监控CAdvisor+InfluxDB+Granfana_docker_06

4.4、访问Influxdb

容器启动后,可以访问http://ip:8083/访问influxdb的web管理平台。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_容器_07

点击右上角齿轮,填写连接配置信息,默认账号密码均为root。点击Save后,可以选择Query Templates下的查询模板,如SHOW DATABASES,可以查看当前已有的数据库信息。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_数据_08

当然,如果对数据库熟悉的人来说,可以直接进入Influxdb终端直接输入命令查询。

4.5、创建CAdvisor数据库

点击Influxdb控制台的Create Database。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_docker_09

将已有的建表语句数据库改为cadvisor,然后回车。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_数据_10

16. Docker容器监控CAdvisor+InfluxDB+Granfana_容器_11

同样的道理,我们可以创建cadvisor用户,并授权:

CREATE USER "cadvisor" WITH PASSWORD 'cadvisor'
grant all privileges on "cadvisor" to "cadvisor"

16. Docker容器监控CAdvisor+InfluxDB+Granfana_docker_12

4.6、访问CAdvisor

通过访问http://ip:8080/就可以看到我们资源的一些基础信息。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_运维_13

16. Docker容器监控CAdvisor+InfluxDB+Granfana_运维_14

4.7、Grafana配置

访问http://ip:3000,就可以访问Grafana控制台页面:

16. Docker容器监控CAdvisor+InfluxDB+Granfana_运维_15

第一次访问会提示你修改密码,修改之后进入页面:

16. Docker容器监控CAdvisor+InfluxDB+Granfana_运维_16

配置数据源为Influxdb:

16. Docker容器监控CAdvisor+InfluxDB+Granfana_数据_17

16. Docker容器监控CAdvisor+InfluxDB+Granfana_容器_18

其中:

  • URL:配置为http://influxdb:8086
  • Database:配置为cadvisor
  • User:Cadvisor
  • Password: Cadvisor

点击保存后,出现如下则成功。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_数据_19

选择Dashboard,创建一个自己需要的仪表盘,选择刚刚创建的Influxdb数据源。

进入仪表盘之后,选择我们要监控的指标项,如这里选择了内存使用。保存后就可以看到监控数据图。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_docker_20

16. Docker容器监控CAdvisor+InfluxDB+Granfana_数据_21

这里就完成了最简单的监控模型仪表盘,Grafana还可以配置告警规则。

16. Docker容器监控CAdvisor+InfluxDB+Granfana_docker_22

这里可以配置告警规则,也可以配置告警的邮件发送配置。具体可以百度教程,这里就不赘述。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

788FupOhhDTZ