分享好友 最新动态首页 最新动态分类 切换频道
Docker容器监控
2024-12-26 23:33

利用docker compose组合应用并利用scale可以快速对容器进行扩充,而docker compose启动的服务容器都在同一台宿主机上,对于一个宿主机上运行多个容器应用时,容器的运行情况,如:CPU使用率,内存使用率,网络状态,磁盘空间等一系列随时间变化的时序数据信息,都需要进行了解,因此监控是必须的。 

Docker容器监控

容器监控方案选择

对于容器的监控方案可谓多种多样,除了docker本身自带的 docker stats 命令,还有Scout,Data Dog,Sysdig Cloud,Sensu Monitoring Framework,CAdvisor等都可以对容器进行监控。
通过 docker stats 命令可以很方便的看到当前宿主机上所有容器的CPU,内存,以及网络流量等数据。但 docker stats 命令的缺点是只是统计当前宿主机的所有容器,为获取的数据是实时的,没有地方存储,也没有报警功能。

 

而Scout,Data Dog,Sysdig Cloud虽然都提供了教完善的服务,但是它们都是托管的服务且都是收费的,Sensu Monitoring Framework集成度较高,也免费,但是部署过于复杂,综合考虑选择CAdvisor做监控工具。

CAdvisor出自Google,有点是开源产品,监控指标齐全,部署方便,而且有官方的docker镜像。缺点是集成度不高,默认只在本地保存2分钟数据。不过,可以加上InfluxDB存储数据,对接Grafana展示图表,比较便利搭建容器监控系统,数据收集和图表展示效果良好,对系统性能也几乎没什么影响。

CAdvisor + InfluxDB + Grafana搭建容器监控系统

CAdvisor

CAdvisor是一个容器资源监控工具,包括容器的内存,CPU,网络IO,磁盘IO等,同时提供了一个WEB页面用于查看容器的实时运行状态。CAdvisor默认存储2分钟的数据,而且只是针对单物理机,不过,CAdvisor提供了很多数据集成接口,支持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。
CAdvisor功能主要有两点,展示Host,容器两个层次的监控数据和展示历史变化

InfluxDB

InfluxDB是用Go语言编写的一个开源分布式时序,事件和指标数据库,无需外部依赖。
由于CAdvisor默认只在本地保存最近2分钟的数据,为了持久化数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储CAdvisor数据,而且CAdvisor本身提供了InfluxDB集成的方法,在启动容器时指定配置即可。

InfluxDB主要功能

  • 基于时间序列,支持与时间有关的相关函数
  • 可度量性,可以实时对大量数据进行计算
  • 基于事件,支持任意的事件数据

InfluxDB主要特点

  • 无结构
  • 可以是任意数量的列
  • 可拓展
  • 支持min,max等一系列的函数,方便统计
  • 原生的HTTP支持,内置HTTP API
  • 强大的类SQL语法

Granfana

Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置(如InfluxDB,MySQL,Elasticserach,OpenTSDB,Graphite等)和丰富的插件及模板功能,支持图表权限控制和报警。

Grafana主要特点

  • 灵活丰富的图形化选项
  • 可以混合多种风格
  • 支持白天和夜间模式
  • 多数据源

CAdvisor负责收集容器随时间变化的数据
InfluxDB负责存储时序数据
Grafana负责分析和展示时序数据

安装部署

部署InfluxDB服务

启动InfluxDB的服务容器

 

在容器中创建test数据库和root用户

 

 

部署CAdvisor

启动CAdvisor的服务容器

 

服务容器起来后可通过浏览器访问 http:///ip:8080

 

部署Grafana

启动Grafana服务容器:

 

直接运行该命令后有可能会发现容器并没有启起来,通过 docker logs 命令会发现”mkdir: can’t create directory ‘/var/lib/grafana/plugins’: Permission denied“的错误,其实就是没有 数据卷对应的主机上 /data/grafana 的权限,可以在运行启动命令前先创建 /data/grafana 目录并给定权限777,或者通过”docker run —entrypoint “id” grafana/grafana“ 查看uid,gid,groups (默认为472,然后通过”chown -R 472:472 /data/grafana“修改权限。

 

Grafana正常启动后就可以 http://ip:3000 访问,出现以下的登录页面,初次访问需要修改密码,默认用户名密码为:admin/admin

 

Docker Compose集成部署

准备docker-compose.yml文件

 

在docker-compose.yml文件目录运行以下命令启动服务

 

-d指定在后台启动,初次启动可以不加可以在控制台查看启动日志,当然后台启动也可以通过“docker-compose logs”进行查看启动日志。

服务正常启动后就可以 http://ip:3000 访问Granafa,在Home Dashboard页面点击添加data source

 

配置InfluxDB连接信息,当然在配置连接信息前需要进入InfluxDB容器创建相应的cadvisor数据库和用户root/root

在容器中创建cadvisor数据库和root用户

 

配置连接InfluxDB连接

 

数据源配好之后可以回到Home Dashboard添加添加dashboard图表展示监控信息,Grafana提供了丰富的图片模板对监控数据进行展示。

 

 

 

最新文章
10、35、50mg/m3!生态环境部发布水泥行业超低排放征求意见稿
6月15日,生态环境部发布关于公开征求《关于推进实施水泥行业超低排放的意见(征求意见稿)》(以下简称“征求意见稿”)。水泥行业超低排放实施范围包括水泥熟料生产企业(不含矿山)和独立粉磨站(含生产特种水泥、协同处置固废的水泥企
AI绘画官网,用触站AI创作出你独一无二的艺术品
AI绘画官网是一个崭新的在线艺术平台,利用人工智能(AI)技术为用户提供无穷无尽的艺术创作可能。在这个平台上,用户可以通过触站AI进行绘画创作。让AI帮助你创作出独一无二的艺术品。1. 触站AI和AI绘画官网触站AI是AI绘画官网的最大卖点。
90%测试工程师不知道的测试方法
小A接到一个泛灵犀的测试任务,其中有一个判断网络为移动网络时出现的一个弹窗。但是服务器逻辑在测试服务器上,但是移动网络下又无法指代理。这可难倒了小A,因此一直愁眉苦脸。对于小A遇到的问题,你有好的解决方案吗?欢迎文末留言交流
7种行楷基础笔画教程图解!简单实用,0基础小白直接上手!
之前我们给大家讲解了楷书的入门笔画和进阶笔画的教程楷书7个基本笔画的写法14个楷书进阶笔画教程(没学的小伙伴直接点击
ai大数据获客系统
随着互联网的发展,越来越多的企业开始意识到数据的重要性。而在这个数据时代,AI大数据获客系统成为了企业获取客户的重要工具。AI大数据获客系统是一种基于人工智能和大数据技术的客户获取系统。它通过对海量数据的分析和挖掘,帮助企业找
coreelec盒子安装docker coreelec能装什么插件
CorelDRAW 是一款在中国非常受欢迎的图形软件,开放的界面和编程技术,能够对它进行二次开发制作插件,插件大抵有三种gms、cpg、exe格式,下面介绍一下这三种插件的安装和使用方法。一、gms格式插件gms格式插件是使用微软的 VBA 技术,编写
ai?到底是什么?我们该如何正确使用呢?
人工(AI创作精灵)智能的研究和应用涉及多个学科,包括计算机科学、数学、控制论、语言学、心理学、生物学、哲学等。人工智能的研究和应用旨在开发和应用能够模拟人类智能的计算机系统,从而解决各种实际问题,提高生产效率和生活质量。人
ai数字人交互体验,ai数字人与线上展馆融合!
在数字化浪潮席卷全球的今天,线上体验已成为连接消费者与品牌的重要桥梁。随着科技的飞速发展,人们对线上体验的需求已不再满足于简单的信息浏览,而是渴望获得更加丰富、互动和个性化的体验。AI数字人技术,作为数字化时代的一项创新成果
AI写作助手官网,让你的文章更富有魅力
当今社会,文章创作已成为不可或缺的一部分。不论你是一名写作者、学生还是商业人士,拥有一个能够提供专业文案风格的AI写作助手可以让你的文章更具吸引力。AI写作助手官网正是为了满足这个需求而诞生的。AI写作助手官网以其独特的技术和创
360逾期会被起诉吗?真还不上怎么办?
360借条是奇富科技旗下信贷科技服务品牌,作为知名信贷品牌,很多人有资金需求时都会在360平台上申请借款。那么,360逾期会被起诉吗?真还不上怎么办?下面就跟随小编一起来看看吧。360逾期会被起诉吗?360借条逾期是否会被起诉,需要视具
相关文章
推荐文章
发表评论
0评