docker访问外部数据库_详解Docker容器可视化监控中心搭建

本文介绍了如何搭建一个Docker容器的可视化监控中心,包括部署Influxdb、cAdvisor和Grafana服务,以收集和展示容器的资源使用情况。通过实例演示,展示了如何配置和使用Grafana监控不同容器的内存使用情况。
摘要由CSDN通过智能技术生成

概述

一个宿主机上可以运行多个容器化应用,容器化应用运行于宿主机上,我们需要知道该容器的运行情况,包括 CPU使用率、内存占用、网络状况以及磁盘空间等等一系列信息,而且这些信息随时间变化,我们称其为时序数据,下面主要演示下如何搭建一个可视化的监控中心来收集这些承载着具体应用的容器的时序信息并可视化分析与展示!


一、基础环境

  1. adviser:负责收集容器的随时间变化的数据
  2. influxdb:负责存储时序数据
  3. grafana:负责分析和展示时序数据
bbfa6a73e1e1e424c6a8539e8912ff58.png

二、部署Influxdb服务

可以将其视为一个数据库服务,其确实用于存储数据。

命令如下:

docker run -d -p 8086:8086 -v ~/influxdb:/var/lib/influxdb --name influxdb tutum/influxdb

进入influxdb容器内部,并执行influx命令:

docker exec -it influxdb influx
d55419492c6eaeb639f1ac006bbb7016.png

创建数据库test和root用户用于本次试验测试

CREATE DATABASE "test"CREATE USER "root" WITH PASSWORD 'root' WITH ALL PRIVILEGES
44423c120a27767ea1913218950b161b.png

三、部署cAdvisor服务

谷歌的cadvisor可以用于收集Docker容器的时序信息,包括容器运行过程中的资源使用情况和性能数据。

1、运行cadvisor服务

9630a5e3896d322bac448f59c8418263.png

特别注意项:

在运行上述docker时,这里有可能两个其他配置项需要添加(CentOS, RHEL需要):

--privileged=true设置为true之后,容器内的root才拥有真正的root权限,可以看到host上的设备,并且可以执行mount;否者容器内的root只是外部的一个普通用户权限。由于cadvisor需要通过socket访问docker守护进程,在CentOs和RHEL系统中需要这个这个选项。--volume=/cgroup:/cgroup:ro对于CentOS和RHEL系统的某些版本(比如CentOS6),cgroup的层级挂在/cgroup目录,所以运行cadvisor时需要额外添加–volume=/cgroup:/cgroup:ro选项。

四、部署Grafana服务

grafana则是一款开源的时序数据分析工具,而且界面专业易用。

命令如下:

docker run -d -p 5000:3000 -v ~/grafana:/var/lib/grafana --link=influxdb:influxdb --name grafana grafana/grafana

到这里3个容器都已经启动了:

36acc85ea8c5aa150d3db949587ec9e3.png

五、实例演示

1、访问grafana服务

打开localhost:5000来访问grafana的web服务,此时提示你需要登录,注意用户名和密码都是admin

8504be6a8adfa8c5504d94d69aa09efc.png

登录后可以看到grafana的主页面:

368fadfb65578367798044411a42ec1b.png

2、Add Data Source

点击Add data source进入

29db8b6bd47a8015934e0bfa147f6fc6.png

然后主要是Setting选项卡设置

7fe7b8e986c26e718c4345be415962c5.png

我们需要根据实际情况来填写各项内容:

edcfe4e322fb5cb48e43b6ef34b22480.png

Data source添加成功会予以提示

62b51cb45fdf8aaf641b6696276d80c1.png

数据源添加完成以后,我们需要添加仪表盘(Dashboard)

3、Add Dashboard

点击Add dashboard进入

18b398f984abc0432fbc237b66af3d4a.png

这里有很多类型的仪表盘供选择,我们选用最常用的Graph就好

7c8e8ee0143be1ab5a13a59b7fa623de.png

进入之后,点击Panel Title下拉列表,再选择Edit进行编辑即可

d9fa39e907013782404ae5a3200cf3de.png

在Edit里面主要的就是需要添加查询的条件,继续看下文

4、Add Query Editor

查询条件中我们可以选择要监控的指标:

8158f306505349e3ad02cdd108183f26.png

这里选一个memory usage好了,然后要监控的容器选择grafana自身好了。

当然这里不止可以监控一个指标,也不止可以监控一个容器,更多组合我们只需要在下面并列着一个一个添加query条目就好!

最后我添加了三个监控条件,分别用于监控grafana、influxdb和cadvisor三个容器的memory usage指标,并将其同时显示于图中,怎么样是不是很直观!

e82ed7d8ef0c607e2d40fa7e8f8e0e4c.png

这里可以摸索的设置项还有很多,比如一些坐标自定义、显示策略自定义,甚至我们还可以自定义报警策略等等。


这个实验整体做下来也就半个多小时吧,大家可以自己测试下,对docker整个可视化监控体系架构有个基础了解,有时间可以再继续深入研究下。

后面小编会分享更多devops干货,感兴趣的朋友可以关注下~

15dd50ae576d734cfe4dd7c98267b320.gif
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值