`
lykops
  • 浏览: 86378 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

cAdvisor、InfluxDB、Grafana搭建Docker1.12性能监控平台

 
阅读更多

通过cadvisor+influxdb+grafana三者有机结合,打造跨主机容器监控。

优点

1、跨主机监控,可扩展
2、容器自发现
3、历史数据长期保存
4、自定义配置程度高
5、采集间隔很短,达到秒级
6、多种方式告警

缺点

1、不能自动隐藏已停止的容器
2、grafana会展现所有的数据,导致展示长时间的数据时,各个数据点重叠。

展示长时间

组件

数据采集–cAdvisor

cAdvisor为Docker容器用户提供了了解运行时容器资源使用和性能特征的工具。

cAdvisor是单机版容器监控系统,通过收集宿主机的cgroup统计信息,经过加工处理后通过图展示在页面上。

这些信息包括宿主机、容器的CPU、内存、网络流量、磁盘空间等资源隔离和运行数据。
cadvisor资源隔离

工作流程大致:

1)、收集、聚集、处理宿主机的cgroup统计数据
2)、写入后端基于事件序列的数据库(本文使用InfluxDB)
3)、展示时读取基于事件序列的数据库

优势:

部署、维护简单:通过容器形式部署,“开箱即用”,无需配置即可使用
监控容器和宿主机
通过图展示,比较美观
支持多种基于事件序列的数据库,写入和读取快

不足之处:

只能看到2-3分钟的监控数据
消耗的内存较高,通常几百M
页面加载较慢

cadvisor监控图

数据存储–InfluxDB

InfluxDB是一个开源分布式时序、事件和指标数据库。

influxdb使用Go语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。

其主要特色功能

基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
可度量性:可以实时对大量数据进行计算
基于事件:支持任意的事件数据

InfluxDB的主要特点

无结构(无模式):可以是任意数量的列
可拓展的
支持min, max, sum, count, mean, median 等一系列函数,方便统计
原生的HTTP支持,内置HTTP API
强大的类SQL语法
自带管理界面,方便使用

在使用过程中发现influxdb缺点:

在select查询时,字段必须是time或者value,不能为其他字段
    例如:select container_name from "cpu_usage_user" limit 100无结果

监控配置和展示–Grafana

Grafana是一款开源的监控绘图工具。

对收集来的数据进行展示和分析。

特性:

用于可视化大型测量数据的开源程序,提供了强大和优雅的方式去创建、共享、浏览数据。
dashboard中展示不同metric数据源中的数据。
常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。
有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、Cloudwatch、Prometheus、InfluxDB、Elasticsearch。
自定义配置灵活,支持模板、展示数据内容配置等等。
支持告警

部署

运行环境

宿主机:CentOS7 7.3.1611

docker版本为1.12.6

通过docker容器方式部署。部署情况

                        cadvisor    influxdb    grafana
docker1 192.168.20.128  部署      部署       部署
docker2 192.168.20.129  部署      /          /    
docker3 192.168.20.130  部署      /          /

influxdb

创建容器

docker create -p 8083:8083 -p 8086:8086 -v /opt/influxdb:/var/lib/influxdb --name=influxdb --hostname=influxdb tutum/influxdb 
docker start influxdb
8086用于Influxdb数据读写,8083用于数据库管理界面

InfluxDB容器创建成功后,可以通过http://192.168.20.128:8083/打开管理界面。

创建用户

点击页面右上角的设置图标,数据账号和密码,点击save
influxdb设置密码

创建数据库

创建cadvisor数据库,用于收集存储Docker的性能数据,在输入框输入CREATE DATABASE “cadvisor”然后按回车,执行命令。

在输入框输入SHOW DATABASES,可以看到刚才创建的数据库
influxdb建立数据库

cadvisor

创建cAdvisor容器

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --hostname=cadvisor --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_host=192.168.20.128:8086 -storage_driver_db=cadvisor -storage_driver_user=root -storage_driver_password=1qaz2wsx

-storage_driver=influxdb 指定存储驱动,使cadvisor将数据存储到数据库中,更多存储插件

-storage_driver_host=influxdb:8086 InfluxDB数据库的地址

-storage_driver_db=cadvisor 数据库名称

如果要指定用户名可以用-storage_driver_user参数,默认是root

如果要指定密码可以用-storage_driver_password参数,默认是root

cAdvisor运行以后,可以通过http://宿主机IP:8080/查看到Docker运行的机器和容器情况。

验证cAdvisor是否已经向InfluxDB存入数据

打开http://192.168.20.128:8083/的InfluxDB管理界面

点击右上角Database切换到cadvisor数据库

然后在输入框输入SHOW MEASUREMENTS可以看到已经创建了很多个表

这里写图片描述

grafana

部署容器

docker create -p 3000:3000 --hostname grafana --name grafana grafana/grafana

默认admin的用户名和密码是admin/admin

配置

访问http://192.168.20.128:3000

添加数据库

grafana数据库配置
这里写图片描述

配置模板

这里写图片描述
这里写图片描述

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    20190313-100538-非对称电容在变压器油中10kv高压电作用下产生力的现象

    这个实验展示了非对称电容在高压电场中出现的力学现象。 非对称电容悬挂在悬臂梁传感器上,变压器油保持了两极的绝缘良好,高压产生的力的效应使得传感器测量的非对称电容的重量减轻。 这个实验有力的驳斥了用于解释非对称电容力学现象的离子风假说。 实验使用设备为STM32F429+HX711+悬臂梁传感器,上位机由C# WPF实现。

    基于以太坊区块链的车险理赔系统全部资料+详细文档.zip

    【资源说明】 基于以太坊区块链的车险理赔系统全部资料+详细文档.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    银行家算法的C++实现.zip

    银行家算法 【项目资源】:包含前端、后端、移动开发、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源,毕业设计等各种技术项目的源码。包括C++、Java、python、web、C#、EDA等项目的源码。 【适用人群】:适用于希望学习不同技术领域的初学者或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    基于MATLAB公路裂缝检测系统【含界面GUI】.zip

    计算机网络课后题答案

    基于hyperledger fabric区块链的工作流审批应用全部资料+详细文档.zip

    【资源说明】 基于hyperledger fabric区块链的工作流审批应用全部资料+详细文档.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    【创新未发表】基于蝠鲼觅食优化算法MRFO-Kmean-Transformer-LSTM实现负荷预测附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    JEEWEB Mybatis版本是一款基于SpringMVC+Spring+Mybatis+Mybatis Plus的JAVA WEB敏捷开发系统.zip

    JEEWEB Mybatis版本是一款基于SpringMVC+Spring+Mybatis+Mybatis Plus的JAVA WEB敏捷开发系统.zip

    毕业设计-基于微信小程序的共享雨伞租借系统项目源码

    毕业设计-基于微信小程序的共享雨伞租借系统项目源码,本项目是一套98分毕业设计系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业,包含:项目源码、项目说明等。该项目可以直接作为毕设使用,项目都经过严格调试,确保可以运行! 毕业设计-基于微信小程序的共享雨伞租借系统项目源码,本项目是一套98分毕业设计系统,毕业设计-基于微信小程序的共享雨伞租借系统项目源码主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,毕业设计-基于微信小程序的共享雨伞租借系统项目源码可作为课程设计、期末大作业,包含:项目源码、项目说明等。该项目可以直接作为毕设使用,项目都经过严格调试,确保可以运行! 毕业设计-基于微信小程序的共享雨伞租借系统项目源码,本项目是一套98分毕业设计系统,毕业设计-基于微信小程序的共享雨伞租借系统项目源码主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,毕业设计-基于微信小程序的共享雨伞租借系统项目源码可作为课程设计、期末大作业,包含:项目源码、项目说明等。该项目可以直接作为毕设使用,项目都经过严格调

    【创新未发表】基于布谷鸟优化算法CS-Kmean-Transformer-BiLSTM实现负荷预测附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    朴素贝叶斯分类器算法Python代码实现

    用Python代码实现了一个朴素贝叶斯分类器算法,代码中包含拟合函数、预测函数、简单数据运行示例。并列给出了调用sklearn中的代码。 代码解释说明的博文:https://blog.csdn.net/u013172930/article/details/144042608

    基于JAVA+SpringBoot+Vue+MySQL的音乐翻唱与分享平台 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:maven 数据库工具:navicat

    基于JAVA+SpringBoot+Vue+MySQL的学生毕业离校系统 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:maven 数据库工具:navicat

    我国2007-2022年上市银行绿色信贷余额、绿色信贷比率、资本充足率等关键指标数据-最新出炉.zip

    1、资源特点 全新整理:今年全新力作,手工精心打磨。 权威数据:数据来自权威渠道,精准可靠。 放心引用:杜绝数据造假,品质保证。 2、适用人群 在校专科生、本科生、研究生、大学教师、学术科研工作者 3、适用专业 经济学、地理学、城市规划、公共政策、社会学、商业管理、工商管理等

    论文实证模型(回归、面板熵值法、中介调节、内生性检验等代码+数据)-最新出炉.zip

    1、资源特点 全新整理:今年全新力作,手工精心打磨。 权威数据:数据来自权威渠道,精准可靠。 放心引用:杜绝数据造假,品质保证。 2、适用人群 在校专科生、本科生、研究生、大学教师、学术科研工作者 3、适用专业 经济学、地理学、城市规划、公共政策、社会学、商业管理、工商管理等

    OpenCV如何找到角点.docx

    前言 问:基于OpenCV如何找到角点,有什么思路?OpenCV方法有什么好的思路吗?找到下面的图中白色矩形的角点的方法。 其实就是用角点检测 + 轮廓分析 搞定。 OpenCV解决 基于OpenCV实验大师工具软件1.1 设计的流程如下: 最终每一步的运行结果如下: 面积计算数据跟统计结果如下: OpenCV工作流引擎SDK支持 通过导出的vm配置文件,加载到工作流引擎,可以实现流程复用,处理多张图像,支持的SDK调用代码如下: #include "main_workflow.h"#include <iostream>#include <fstream> int main(int argc, char** argv) { std::shared_ptr<QTongCoreCVWorkFlow> engine(new QTongCoreCVWorkFlow()); bool succ = engine->initWorkFlow("D:/12121.vm", "69585e470300cdb5a6910131eb639882"); if (!succ) {

    (完整数据)全国各省、市、县逐年水纹数据(降水量到2022

    数据年份:1950-2022年,年度数据 数据范围: 省级数据:全国33省份(含直辖市,香港/台湾); 城市数据:全国371城市地级市、直辖市、地区州盟 ; 区县数据:全国2876区县、市辖区、自治县、县域县级市;

    基于JAVA+SpringBoot+Vue+MySQL的网上商城购物系统 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:maven 数据库工具:navicat

    editor是由web前端研发部开发的所见即所得富文本web编辑器.zip

    editor是由web前端研发部开发的所见即所得富文本web编辑器.zip开发

    【创新未发表】基于海鸥优化算法SOA-Kmean-Transformer-GRU实现负荷预测附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    精卫 - 30年前,50年后.mp3

    精卫 - 30年前,50年后.mp3

Global site tag (gtag.js) - Google Analytics