NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Docker 监控:最佳实践以及 cAdvisor 和 Prometheus 监控工具的对比

  • 2015-12-10
  • 本文字数:1711 字

    阅读完需:约 6 分钟

DockerCon EU 2015 上, Brian Christner 阐述了“ Docker 监控”的概况,分享了这方面的最佳实践和 Docker stats API 的指南,并对比了三个流行的监控方案:cAdvisor、“cAdvisor + InfluxDB + Grafana”以及 Prometheus。

Christner 所建议的最佳实践包括为容器添加标签并设置资源限制,他指出尽管 Google 的 cAdvisor 容器监控工具很易用,但是将 cAdvisor、InfluxDB 和 Grafana 组合起来能够提供更好的应用集成和可扩展性,Prometheus 则提供了“开箱即用”的客户端库和告警。

Christner Swisscom AG 的云方案倡导者,在这个演讲中,他首先介绍了在 Swisscom 公司中 Docker 的使用情况,包括通过 Docker 和 Cloud Foundry (与 ClusterHQ 协作构建的)提供的持久化 Database-as-a-Service(DBaaS),以及支撑各种应用的多个内部 Docker 产品,涵盖的范围从“云应用到 TV”。这些项目使用 Docker 的原因在于每个服务器上能够实现更高的应用密度(与此相关的就是成本的节省了),对于开发者来说能够减少上市的时间,部署构件能够“一体适用(one size fits all)”于各种场景中。使用 Docker 的一个核心挑战在于监控方面的变化,从这里开始,Christner 开始热情地分享他所学到的内容。

监控 Docker 的最佳实践包括通过描述性的键 / 值对为容器添加标签(labelling container),如‘–label environment=”production”’,设置资源限制并限制所产生的告警数量,避免将信号变为噪音(“不要让自己过于警戒!”,Don’t overlert yourself!)。Christner 简单介绍了“docker stats”命令,他说这个工具对于解决本地和远程的问题都非常有用。他讨论了 Docker stats API ,并补充说它通常来讲是所有其他 Docker 监控工具的基础,并且还可以将容器的资源信息提供到组织内部已有的监控方案中。

Google 的 cAdvisor (Container Advisor)“为容器用户提供了了解运行时容器资源使用和性能特征的方法”。cAdvisor 的容器抽象基于 Google 的 lmctfy 容器栈,因此原生支持 Docker 容器并能够“开箱即用”地支持其他的容器类型。cAdvisor 部署为一个运行中的 daemon,它会收集、聚集、处理并导出运行中容器的信息。这些信息能够包含容器级别的资源隔离参数、资源的历史使用状况、反映资源使用和网络统计数据完整历史状况的柱状图。

cAdvisor 能够与 InfluxDB Grafana 联合起来使用,它们分别是时间序列(time series)的数据库和指标的仪表盘(metrics dashboard),借助它们来存储和展现信息。Christner 还写过一篇“如何搭建Docker 监控”的博客文章,并创建了与之关联的 Docker Compose 配置文件,它可以通过一个简单的“docker-compose up”命令就能创建使用cAdvisor、InfluxDB 和Grafana 的监控环境。

Prometheus 是一个实现监控功能的系统和服务,它来源于 SoundCloud 针对 StatsD 和 Graphite 所提供的改善监控系统。Prometheus 能够按照给定的时间间隔收集所配置目标的指标、执行规则表达式、展现结果,如果某些条件判断结果为真的话,将会触发告警。Prometheus GitHub 仓库的 README.md 这样说到,它与其他监控系统的主要区别特性在于多维的数据模型,借助这种多维性所提供的灵活查询语言,支持多种模式的图形和仪表盘,并且支持垂直和水平的组合(hierarchical and horizontal federation)。通过一个 Docker Compose 配置文件就能建立全功能的 Prometheus 监控环境,这个文件可以在 Christner 的 GitHub 账号上找到。

Christner 在演讲的最后比较了上述三种容器监控方式,即 cAdvisor、“cAdvisor + InfluxDB + Grafana”和 Prometheus。尽管 cAdvisor 最易用,但它在扩展性和告警方面有局限性。组合使用“cAdvisor + InfluxDB + Grafana”能够提供很好的可扩展性,并且提供了客户端库,但是内置不支持告警功能。Prometheus 可能扩展起来不那么容易,但是它支持告警并提供了针对多种语言的客户端库。

图 1:Docker 监控工具的简要对比

Christner 所做的“ Docker 监控”演讲的 slide 可以在 SlideShare 网站上找到,其他的消息可以通过 brianchristner.io 网站上的系列博客文章获取。

查看英文原文: Docker Monitoring: Best Practices, and a Comparison of the cAdvisor and Prometheus Monitoring Tools

2015-12-10 18:0011180

评论

发布
暂无评论
发现更多内容

程序员搞开发的时候,心态真的不稳

伤感汤姆布利柏

边缘云特点、应用实践和发展趋势浅析

天翼云开发者社区

边缘云

高考成绩都出来了,你的秒杀系统如何了?

冰河

并发编程 多线程 高并发 协程 秒杀系统

在找稳定的企业级数据云平台?奇点云DataSimbaR4.9 LTS发布

Geek_2d6073

慧博云通加入飞桨技术伙伴计划,共同推动企业 AI 应用创新

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

无类教育完善内训体系,开启校企合作新篇章

Geek_2d6073

券商网络信息安全启动三年计划圈重点

原点安全

WEB系统安全之开源软件风险使用评估

天翼云开发者社区

开源 Web

关于 3.0 和 2.0 的数据文件差异以及性能优化思路

爱倒腾的程序员

OpenResty 安装

流火

IPQ9574 IPQ9554 what's the difference?|WIFI7 Solution|Wallys

wallyslilly

ipq9554 ipq9574

带你了解爆火的AI框架-LangChain

派大星

数字先锋|云上医院长什么样?宁夏固原中医医院带你一探究竟!

天翼云开发者社区

云计算

从零开始初识机器学习 | 京东云技术团队

京东科技开发者

人工智能 机器学习 企业号 6 月 PK 榜

【TiDB v7.1.0】资源管控调研及评测

TiDB 社区干货传送门

7.x 实践

干货|三个维度详解 Taier 本地调试原理和实践

袋鼠云数栈

开源 前端

探索To-D,落地好大夫效能平台

方勇(gopher)

DevOps SRE 效能平台

零样本视频生成无压力,基于飞桨框架实现Text2Video-Zero核心代码及依赖库

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

记一次Native memory leak排查过程 | 京东云技术团队

京东科技开发者

native 企业号 6 月 PK 榜 memory leak

TICDC 数据同步至 MySQL初体验

TiDB 社区干货传送门

迁移

TiDB 多租户方案和原理

TiDB 社区干货传送门

TiDB 底层架构 新版本/特性解读 7.x 实践

如何用smardaten90天快速开发并上线智慧空间loT物联平台?

热爱编程的小白白

来了,kubesphere轻松搭建redis

夜栩

后端 docker image KubeSphere

TIDB v7.1 reource control资源管控特性体验贴

TiDB 社区干货传送门

版本测评 7.x 实践

发送Tidb告警信息到企业微信群实践

TiDB 社区干货传送门

监控

TiDB 升级利器(参数对比)——TiDBA

TiDB 社区干货传送门

7.x 实践

资源池化:多租户与数据库整合解决方案

TiDB 社区干货传送门

新版本/特性解读 数据库架构设计

微服务架构的重要性:现代应用开发的关键趋势

2756

微服务架构 微服务、

微服务之道:8个原则,打造高效的微服务体系

不在线第一只蜗牛

微服务 微服务架构

基于驱动因素的全面预算管理方式

智达方通

智达方通 全面预算管理 业财驱动 驱动因素

远程desk工具利用总结

快乐非自愿限量之名

远程 ToDesk

Docker监控:最佳实践以及cAdvisor和Prometheus监控工具的对比_DevOps & 平台工程_Daniel Bryant_InfoQ精选文章