使用influxdb+cadvisor+grafana的docker镜像搭建一个实时监控系统的环境

1.简述

监控一个主机系统实时信息,比如cpu,内存等信息看起来是一件比较难的时,其实即使用传统的方法安装influxdb和cadvisor还有granfana就可以了,再说现在使用docker来部署环境简直就是so easy!

Docker的火爆程度就不说了,随着docker的生态圈的发展,将原来部署起来很复杂的环境变得非常简单,下面的教程我们通过上述的三个组件(cadvisor influxdb grafana)来搭建一个监控主机系统的实时信息。

首先介绍下几个组件的功能,cadvisor谷歌公司自己用来监控他们基础设施的一款工具,这个工具厉害之处不仅能监控docker容器的实时信息,而且还能将你的cadvisor这容器所在的主机的系统的实时信息!(谷歌就这么牛逼,掌握核心技术!),但是由于cadvisor只是能监控到实时的信息而不能保存,所以我们要使用influxdb将这些实时监控到的信息存放起来,以备以后需要。而grafana这个就是将influxdb存放的信息以图表的形式,非常清晰,完美地展现出来!下面,我们简述部署的过程。

2.环境部署

2.1 平台信息

假设你的虚拟机已经安装并配置好了docker(能直接pull镜像,要是不行可以先在外面下载好再导进去),并且你的虚拟机能和浏览器进行连接,以我的环境为例子,我的环境的信息如下:

IP主机名备注
10.63.39.38lijiaze系统CentOS7.1

2.2 安装influxdb

2.2.1 启动influxdb容器

# 1 在本地创建一个存放influxdb数据的目录
# mkdir -p /data/influxdb

# 2 启动influxdb容器,必须注意的是这里的influxdb镜像要使用v0.8.8的
# 为了方便后面其他的容器和它连接,启动一个名叫influxsrv容器,并将容器的信息保存在本地目录/data/infludb
# docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --volume=/data/influxdb:/data --name influxsrv tutum/influxdb:0.8.8

2.2.2 创建cadvisor数据表

1、登陆http://10.63.39.38:8083 使用username为root,password为root登陆influxdb。如下图

 

2、登陆influxdb后,点击页面的上方Databases连接,输入数据库的名称cadvisor并点击Create Database按钮。如下图

2.3 安装cadvisor

1、启动cadvisor容器

# 启动cadvisor容器,并和前面创建的influxdb的容器连接起来
# docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro <span style="font-family: Arial, Helvetica, sans-serif;">--publish=8080:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor google/cadvisor:latest -storage_driver=influxdb </span><span style="font-family: Arial, Helvetica, sans-serif;">-storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086

2、一旦容器创建成功,就可以通过URL为http://10.63.39.38:8080 登陆到cadvisor的UI界面,如下图

 

2.4 安装grafana

2.4.1 启动grafana容器

# 启动grafana容器,并和influxdb容器连接
# docker run -d -p 3000:3000 -e INFLUXDB_HOST=influxsrv -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=root -e INFLUXDB_PASS=root <span style="font-family: Arial, Helvetica, sans-serif;">--link influxsrv:influxsrv --name grafana grafana/grafana

2.4.2 配置grafana

  1、通过URL 为http://10.63.39.38:3000 登陆grafana的UI界面,以username为admin,password为admin登陆。

  2、连接influxdb的配置,首先点击界面左边的Data Sources,然后点击Add New Data Source这样就会弹出一个编辑框。

        a、我们在编辑框的Edit data source下面填入如下信息:

Nameinfluxdb
TypeinfluxDB 0.8.x
注:将Default旁边的框框选上

          b、在Http settings下面填入如下信息

Urlhttp://influxsrv:8086
Accessproxy
Basic AuthEnabled
Useradmin
Passwordadmin

          c、在InfluxDB Details下面填入如下信息

Databasecadvisor
Userroot
Passwordroot

  3、上述操作完成后,我们将看到如下的图

 

4、定义要监控的信息,首先点击grafana的UI界面的左边的Dashboards按钮,然后点击New按钮,此时将会在Dashboards的旁边出现一个绿色图标,移动鼠标到该图标上,将会有一系列表展现出来,这时选择Add Panel然后在选择Graph。如下图

 

这时将会弹出一个表格类型图,点击表的标题(no title (click here)),选择edit 按钮,进行编辑。如下图

          a、这样就会弹出一个编辑的表格,我们首先在已有的Query1 里面填写如下的信息

seriesstats
aliasLimit
selectmean(fs_limit)

 

          b、然后点击右下方的Add Query 按钮再创建一个Query2,并在Query2里面填写如下的信息

seriesstats
aliasUsage
selectmean(fs_usage)

 

          c、点击General按钮,修改你的表格的标题,点击Axis & Grid 按钮,改变显示的坐标的单位,Left Y Unit:Bytes

 

5、这样上述操作完成后的图如下,点击界面上方的Save按钮进行保存。

 

 

3 后记

其实,很早就想写记录下自己工作或者学习所弄过的一些东西,没时间去弄,今天熬夜也得把第一篇博客写好,哈哈终于写完了!当然这里主机里面有很多参数可以将其展现出来,不过作为一个教程只是举其中一个简单的例子,后续如果有时间在贴上吧!

 

 

 

 

 

 

 

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值