zoukankan      html  css  js  c++  java
  • docker容器监控:cadvisor+influxdb+grafana

    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 8083:8083 -p 8086:8086 --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=8080:8080 --detach=true --name=cadvisor google/cadvisor 
    -storage_driver=influxdb -storage_driver_host=192.168.134.144:8086 -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 3000:3000 --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

  • 相关阅读:
    丑数(摘)
    queue 之团队队列(摘)
    stack 集合栈计算机 (摘)
    反片语(map)
    stl的集合set——安迪的第一个字典(摘)
    stringstream函数(i o)
    T
    S
    R
    java面试题
  • 原文地址:https://www.cnblogs.com/embedded-linux/p/11066590.html
Copyright © 2011-2022 走看看