使用influxdb+cadvisor+grafana的docker镜像搭建一个实时监控系统的环境
来源:互联网 发布:91.v6p.co index.php 编辑:程序博客网 时间:2024/05/21 08:56
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.38 lijiaze 系统CentOS7.1
2.2 安装influxdb
1.在本地创建一个存放influxdb数据的目录
<span style="font-size:14px;">[root@lijiaze:~] # mkdir -p /data/influxdb</span>
2. 启动influxdb容器,必须注意的是这里的influxdb镜像要使用v0.8.8的
<span style="font-size:14px;"># 为了方便后面其他的容器和它连接,启动一个名叫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</span>3. 创建cadvisor数据表
(1).登陆http://10.63.39.38:8083 使用username为root,password为root登陆influxdb。如下图
(2).登陆influxdb后,点击页面的上方Databases连接,输入数据库的名称cadvisor并点击Create Database按钮。如下图
2.3 安装cadvisor
1. 启动cadvisor容器
<span style="font-size:14px;"># 启动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</span></span>2. 一旦容器创建成功,就可以通过URL为http://10.63.39.38:8080 登陆到cadvisor的UI界面,如下图
2.4 安装grafana
1.启动grafana容器
<span style="font-size:14px;"># 启动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</span></span>2. 配置grafana
(1) 通过URL 为http://10.63.39.38:3000 登陆grafana的UI界面,以username为admin,password为admin登陆。
(2) 连接influxdb的配置,首先点击界面左边的Data Sources,然后点击Add New Data Source这样就会弹出一个编辑框。
我们在编辑框的Edit data source下面填入如下信息
Name:influxdb
Type :influxDB 0.8.x
将Default旁边的框框选上
在Http settings下面填入如下信息
Url:http://influxsrv:8086
Access:proxy
Basic Auth: Enabled
User: admin
Password: admin
在InfluxDB Details下面填入如下信息
Database:cadvisor
User:root
Password:root
上述操作完成后,我们将看到如下的图
(3) 定义要监控的信息,首先点击grafana的UI界面的左边的Dashboards按钮,然后点击New按钮,此时将会在Dashboards的旁边出现一个绿色图标,移动鼠标到该图标上,将会有一系列表展现出来,这时选择Add Panel然后在选择Graph。如下图
这时将会弹出一个表格类型图,点击表的标题(no title (click here)),选择edit 按钮,进行编辑。如下图
这样就会弹出一个编辑的表格,我们首先在已有的Query1 里面填写如下的信息
series:stats
alias::Limit
select:mean(fs_limit)
然后点击右下方的Add Query 按钮再创建一个Query2,并在Query2里面填写如下的信息
series:stats
alias::Usage
select:mean(fs_usage)
点击General按钮,修改你的表格的标题
点击Axis & Grid 按钮,改变显示的坐标的单位,Left Y Unit:Bytes
这样上述操作完成后的图如下
这样上述操作完成后,点击界面上方的Save按钮进行保存。这样整个部署流程就走完了!是不是很帅气呢?!
3 后记
其实,很早就想写记录下自己工作或者学习所弄过的一些东西,没时间去弄,今天熬夜也得把第一篇博客写好,哈哈终于写完了!当然这里主机里面有很多参数可以将其展现出来,不过作为一个教程只是举其中一个简单的例子,后续如果有时间在贴上吧!
- 使用influxdb+cadvisor+grafana的docker镜像搭建一个实时监控系统的环境
- 使用InfluxDB+cAdvisor+Grafana配置Docker监控
- 使用InfluxDB+cAdvisor+Grafana配置Docker监控
- Docker 集群监控平台---cAdvisor-InfluxDB-Grafana
- 利用谷歌开源工具cAdvisor 结合influxdb存储+Grafana前端展示进行Docker容器的监控
- Cadvisor-InfluxDB-Grafana监控实现
- cAdvisor、InfluxDB、Grafana搭建Docker1.12性能监控平台
- 使用 StatsD + Grafana + InfluxDB 搭建 Node.js 监控系统
- 使用 StatsD + InfluxDB + Grafana 搭建 Node.js 监控系统 (二)
- Influxdb+collectd+grafana搭建现代化监控系统
- 搭建telegraf、influxdb、grafana监控平台监控docker容器
- 八 、DockerUI与Shipyard以及InfluxDB+cAdvisor+Grafana配置监控
- grafana 配合influxdb监控的Sql例子
- collectd, influxdb, grafana协同作战,不一样的监控
- ubuntu influxDb + grafana 监控系统
- 基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
- 基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
- InfluxDB+Grafana搭建和Grafana dashboard的配置
- AVL树笔记(二):maintain,delete
- 文件的读写与创建简单例子
- Linux中内存相关概念与内存申请的几种方式
- 20151117《Unix环境高级编程》文件apue.h的获取与使用
- 数据结构--Chapter1(绪论)
- 使用influxdb+cadvisor+grafana的docker镜像搭建一个实时监控系统的环境
- 和尚特烦恼3——何时能下山
- android studio gradle初步理解
- 南大软院21天大神养成计划第2天
- CPU Ranking
- Visual Studio 写自己的动态链接库(DLL)
- Oracle小命令
- POJ-1753-BFS+状态压缩
- 20151117《Unix环境高级编程》阅读笔记:前言