cadvisor+influxdb+grafana可以实现容器信息获取、存储、显示等容器监控功能,是目前流行的docker监控开源方案。

方案介绍

cadvisor

Google开源的用于监控基础设施应用的工具,可以零配置运行在docker主机上来监控Docker主机以及Docker容器。其为单节点监控,只能监控一个主机。多节点监控可参考Google的Kubernetes。作为docker服务的监控数据收集器,提供给influxdb。

influxdb

InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖、提供管理界面。提供基于时间序列,基于事件的可度量的实时计算功能。

grafana

Grafana可视化大型测量数据的开源程序,有灵活丰富的图形化选项,可以混合多种风格,多个数据源。例如Graphite、zabbix、InfluxDB、Prometheus、mysql和OpenTSDB 详见配置页面。

方案实施

在Ubuntu16.04上可通过docker部署体验。

1. 部署influxdb

docker run -p : -p : --name=influxdb --hostname=influxdb tutum/influxdb

通过ip:8083浏览器访问数据库,设置用户名和密码为root,save保存。

创建cadvisor数据库供数据采集使用。

2. 部署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=: --detach=true --name=cadvisor google/cadvisor \
-storage_driver=influxdb -storage_driver_host=192.168.134.144: -storage_driver_db=cadvisor -storage_driver_user=root -storage_driver_password=root

注:-storage_driver_host=ip:8086

通过IP:8080访问cadvisor,可看到主机实时信息和图示,不仅包含docker信息还有整个系统信息,如CPU和Filesystem。

可通过IP:8080/metrics获取所有采集数据(某一时刻)。

此时,可在influxdb界面中看到advisor采集的数据,验证两容器运行正常。

3. 部署grafana

docker run -d -p : --hostname grafana --name grafana grafana/grafana

注:测试版本为latest,即6.2.4。

可通过IP:3000浏览grafana,用户名密码都是admin。

1) 首先添加数据源InfluxDB。

2) 配置数据源

点选按钮“Save&Test”,确保输出“Data source is working”。

3) 添加dashboard->Add Query, 配置查询

点选所需配置项,然后保存即可。

4) 可以配置报警信息,如mem管控等

内存超过250MB报警。

5) 配置CPU和memory界面如下图

参考:

1. Docker监控:基于阿里云容器服务构建自己的Docker监控框架

2. https://github.com/Kentik/docker-monitor

3. https://www.brianchristner.io/how-to-setup-docker-monitoring/

4. docker监控方案的最佳实践(cadvisor+influxdb+grafana)

5. docker 实时监控:cadvisor+influxdb+grafana

6. https://rancher.com/comparing-10-container-monitoring-solutions-rancher/

7. 容器监控实践—cAdvisor

8. Cadvisor源码分析监控项

9. Using InfluxDB in Grafana

docker容器监控:cadvisor+influxdb+grafana的更多相关文章

  1. Docker进阶-容器监控cAdvisor+InfluxDB+Granfana

    概述 前面文章介绍使用docker compose组合应用并利用scale快速对容器进行扩容. 由于docker compose启动的服务都在同一台宿主机上,对于一个宿主机上运行多个容器应用时,容器的 ...

  2. 7、Docker监控方案(cAdvisor+InfluxDB+Grafana)

    一.组件介绍 我们采用现在比较流行的cAdvisor+InfluxDB+Grafana组合进行Docker监控. 1.cAdvisor(数据采集) 开源软件cAdvisor(Container Adv ...

  3. docker监控方案实践(cadvisor+influxdb+grafana)

    一.概要 1.1 背景 虚拟化技术如今已经非常热门,如果你不知道什么是虚拟化,那你应该了解虚拟机.虚拟化技术如同虚拟机一样,用于将某些硬件通过软件方式实现"复制",虚拟出" ...

  4. (原)ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers

    ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers(运行在主机上) 适用于类ubuntu系统.amd64. 1. in ...

  5. Docker容器监控

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

  6. kubernetes监控-Heapster+InfluxDB+Grafana(十五)

    cAdvisor+InfluxDB+Grafana cAdvisor:是谷歌开源的一个容器监控工具,采集主机上容器相关的性能指标数据.比如CPU.内存.网络.文件系统等. Heapster是谷歌开源的 ...

  7. cAdvisor+InfluxDB+Grafana 监控Docker

    容器的监控方案其实有很多,有docker自身的docker stats命令.有Scout.有Data Dog等等,本文主要和大家分享一下比较经典的容器开源监控方案组合:cAdvisor+InfluxD ...

  8. 在Marathon 上部署 cAdvisor + InfluxDB + Grafana Docker监控

    关于 Docker 容器的监控,google cAdvisor 是个很好的工具,但是它默认只显示实时数据,不储存历史数据.为了存储和显示历史数据.自定义展示图,可以把将cAdvisor与InfluxD ...

  9. 使用cAdvisor+Influxdb+Grafana监控系统

      今天准备开始研究研究当前非常流行的Grafana+Influxdb监控系统,两者都是非常轻量级的应用但是功能却异常强大,可以说Grafana在作图显示方面真的毫不逊色与Cacti. 组件介绍 cA ...

随机推荐

  1. Nginx 配置 HTTP

    配置如下 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; ...

  2. aps.net StateServer设置

    1.在 system.web节点 加 <sessionState mode="StateServer" stateConnectionString="tcpip=1 ...

  3. JAVA中用StopWatch计算代码耗时的方法

    StopWatch翻译过来的意思就是秒表,其作用也就像我们平时使用的秒一样.spring中就有提供这个工具类(org.springframework.util.StopWatch). 日常开发中,经常 ...

  4. istio1.0 实现蓝绿发布(未完成)

    istio1.0 实现蓝绿发布 环境: 192.168.0.91 master 192.168.0.92 node 第一步:安装k8s集群,参照:https://www.cnblogs.com/eff ...

  5. typescript导入图片报找不到模块的错误

    https://www.cnblogs.com/chen-cong/p/10445635.html images.d.ts: declare module '*.svg' declare module ...

  6. 【Spring Boot学习之六】Spring Boot整合定时任务&异步调用

    环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2一.定时任务1.启动类添加注解@EnableScheduling 用于开启定时任务 package com.wjy; i ...

  7. 一个".java"源文件中是否可以包括多个类(不包括内部类)

    开通好几个月博客了,但是一直没有时间写,这一段时间准备开始复习了,以后准备好好写博客了,会从基础的内容开始. 一个".java"源文件中可以定义多个类,但最多只能定义一个publi ...

  8. ConcurrentHashMap多线程下比HashTable效率更高

    HashTable使用一把锁处理并发问题,当有多个线程访问时,需要多个线程竞争一把锁,导致阻塞 ConcurrentHashMap则使用分段,相当于把一个HashMap分成多个,然后每个部分分配一把锁 ...

  9. [转帖]NSA武器库知识整理

    NSA武器库知识整理 https://www.cnblogs.com/FrostDeng/p/7120812.html 美国国家安全局(NSA)旗下的“方程式黑客组织”(shadow brokers) ...

  10. easyui中formatter的用法

    easyui中formatter的用法 当我们使用easyui需要对某一列进行格式化处理value数据时,可以使用formatter进行格式化 这里以一个商品表举例,商品表中有一个商品类型的字段,数据 ...