Cadvisor+InfluxDB+Grafana

Cadvisor

Cadvisor是检测单节点资源信息的工具,提供了一个http接口的查询界面,可以和其他工具整合使用,Cadvisor既可以采集宿主机还可以采集容器的资源数据进行事实监控,包括,CPU,内存,网络,等等,利用linux的Cgroups获取容器的资源信息

k8s的各个节点默认安装Cadvisor

特点

  • 可以展示主机和容器两个层次的监控数据
  • 可以展示历史变化数据
  • 监控指标齐全
  • 方便部署,将官方的镜像直接下载使用
  • 默认只会在本地保存一分钟数据,需要第三方存储

因为它的界面太过于简陋,需要第三方工具加工使用,并且只能监控一个节点,有多少个就要安装多少个,等等,所以总的来说它只适合于监控数据收集,需要第三方工具加工处理

InfluxDB

InfluxDB是一个开源的非关系时序型数据库,主要用于高性能查询与存储时序型数据,InfluxDB用于存储系统的监控数据。

主要功能

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

特点

  • 无结构(无模式):可以是任意数量的列
  • 支持扩展
  • 支持时间等函数使用
  • 自带管理界面
  • 强大的类SQL语句

Grafana

Grafana是一个可视化面板工具,可以从Graphite,zabbix,InfluxDB,Prometheus等组件提取数据展示

特点

  • nb的图形化
  • 支持多个数据源

监控组件架构

Cadvisor用户数据采集,InfluxDB用于数据存储,Grafana用于数据展示

监控组件构架部署方案

需要上述三个镜像
[root@localhost ~]# docker load < cadvisor.tar
[root@localhost ~]# docker load < influxdb.tar
[root@localhost ~]# docker load < grafana.tar
[root@localhost ~]# docker load < prometheus.tar #创建自定义网络
[root@localhost ~]# docker network create monitor
[root@localhost ~]# docker network ls
5fe0ef94b68a monitor bridge local #创建InfluxDB容器
[root@localhost ~]# docker run -d --name influxdb --net monitor -p 8083:8083 -p 8086:8086 tutum/influxdb
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f8304d8dc5e1 tutum/influxdb "/run.sh" 54 seconds ago Up 52 seconds 0.0.0.0:8083->8083/tcp, :::8083->8083/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp influxdb
#-d:后台运行容器
#--name:启动容器分配名字:influxdb
#--net:将容器加入到新的网络monitor
#-p:映射端口:8083后台控制端口,8086数据端口 #此时可以访问页面使用8083后台控制端口

**在浏览器上创建一个数据库Cadvisor

创建Cadvisor容器

docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --net monitor --publish=8080:8080 --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086
#-d:后台运行此容器
#--name:启动容器分配名字:Cadvisor
#--net:添加容器到网络
#-p:映射端口8080
#--volume:宿主机文件/镜像文件(映射到)
#-storage_driver:需要指定Cadvisor的存储驱动,数据库主机,数据库名
#google/cadvisor镜像,数据存储到influxdb里,存储的数据库名为cadvisor,存储的主机为influxdb:8086

docker Containers容器的监控信息

创建granafa容器

[root@localhost ~]# docker run -d --name grafana --net monitor -p 3000:3000 grafana/grafana   //后台运行指定名字网络和端口

添加数据源

docker容器监控系统的更多相关文章

  1. Docker容器监控

    利用docker compose组合应用并利用scale可以快速对容器进行扩充,而docker compose启动的服务容器都在同一台宿主机上,对于一个宿主机上运行多个容器应用时,容器的运行情况,如: ...

  2. 使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql

    使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql 一.docker部署prometheus监控系统 1.1 配置安装环境 1.1.1 安装promethe ...

  3. Docker容器监控(十)--技术流ken

    docker自带的监控命令 docker自带了三个监控命令即ps, top, stats ps docker ps 可以帮助我们很快的了解当前正在运行的容器 -a:会显示已经停掉的容器 [root@h ...

  4. Docker容器监控(十)

    docker自带的监控命令 docker自带了三个监控命令即ps, top, stats ps docker ps 可以帮助我们很快的了解当前正在运行的容器 -a:会显示已经停掉的容器   [root ...

  5. docker容器监控:cadvisor+influxdb+grafana

    cadvisor+influxdb+grafana可以实现容器信息获取.存储.显示等容器监控功能,是目前流行的docker监控开源方案. 方案介绍 cadvisor Google开源的用于监控基础设施 ...

  6. docker容器与系统时间同步最佳方法

    前言:在Docker容器创建好之后,可能会发现容器时间跟宿主机时间不一致,此时需要同步它们的时间,让容器时间跟宿主机时间保持一致. 一.分析时间不一致的原因 宿主机采用了CST时区,CST应该是指(C ...

  7. 远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_181 我们知道,奉行长期主义的网络公司,势必应在软件开发流程管理体系上具备规范意识,即代码提交有CR(CodeReview),功能 ...

  8. Docker 容器监控平台-Weave Scope

    官网地址:https://www.weave.works/oss/scope/ 安装 执行如下脚本安装运行 Weave Scope. curl -L git.io/scope -o /usr/loca ...

  9. 如何定制docker容器的系统时间

    Dockerfile加入下面一句(标红的部分): FROM xxxxxxENV JAVA_OPTS="-Dfile.encoding=UTF-8"ENV TZ=Asia/Shang ...

  10. 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则

    一.Docker 容器监控报警方式 接着上篇文章的记录,看到grafana的版本已经更新到4.2了,并且在4.0以后的版本中,加入了Alert Notifications 功能,这样在对容器 监控完, ...

随机推荐

  1. flask中的线程隔离技术

    一.引入: 在无线程隔离情况下,通过线程调用函数,函数内部改变传入对象的属性值(排除非线程安全情况),都将更改传入的对象属性 1 import threading 2 3 class TestThre ...

  2. 将pyinstaller打包的exe文件制作成安装包

    1. 下载安装 inno setup (下载地址:http://www.jrsoftware.org/isdl.php) 2. 配置inno setup中文语言包 inno setup默认并没有中文, ...

  3. Servlet中使用request转发页面引发的500空指针异常

    多余的不说如果你出现了我下面这张图的异常错误,可以继续看下去: 上面的错误是因为我们使用的转发地址错误引起的,这样他转发的地址不存在,则会出现空指针异常. register.jsp在我的Tomcat的 ...

  4. Web开发的常用攻击和防御方式

    一.XSS 主要利用:1.盲目相信用户提交的内容 2.直接把用户的字符串转化成DOM 分类: 1.存储型XSS,恶意脚本存在数据库中,所有访问页面的用户都会被攻击 2.反射型XSS,脚本写在URL中, ...

  5. Kubernetes--管理Pod对象的容器(3)

    共享节点的网络名称空间 同一个Pod对象的各容器均运行于一个独立的.隔离的Network名称空间中,共享同一个网络协议栈及相关的网络设备.也有一些特殊的Pod对象需要运行于所在节点的名称空间中,执行系 ...

  6. windows 链接 MySQL8.0.28 报错: SSL connection error: unknown error number 解决办法

    找到 My.ini文件,以管理员身份打开并在  [mysqld]   节点下 增加   skip_ssl   选项并保存,重启 MySQL 服务 执行SQL语句    SHOW VARIABLES L ...

  7. 【layui】下拉控件dropdown 简单的使用

    官方网站地址: http://test.microanswer.cn/page/dropdown.html 1.代码 layui.use(['index', 'table', 'form', 'dro ...

  8. 软件工程实践总结&个人技术博客

    这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求 这个作业的目标 总结课程与学到的技术回顾课程 其他参考文献 <构建之法><软件质量和测试> 目录 课程回顾与总结 ...

  9. 搭建CentOS 7

    首先,操作系统要部署在哪一个盘符下就在哪一个盘符下创建一个空文件夹,用来存放实验环境.这里的实验环境的文件夹可以命名为CentOS 7 x64. VMware中,"文件"--&qu ...

  10. vue2 element-ui组件二封-表单组件-按钮封装

    这里是一段我们公司过往项目的代码(增删改查项目中的查询/重置按钮) <el-button @click="query()" type="primary" ...