写点什么

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:0011442

评论

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

JustStream PRO for Mac:一键投屏,尽享大屏影音盛宴!

Rose

Substance 3D Painter:3D纹理创作新纪元,解锁无限创意可能

理理

iZotope RX 11:AI赋能音频修复,重塑后期制作新标准

理理

科研必备!GraphPad Prism 10数据分析与可视化的全新飞跃!

Rose

【永久破解】Lightroom Classic 2025(LRC2025)最新安装包

Rose

Maxon Cinema 4D 2024下载安装(C4D 2024中文永久激活)

Rose

JS逆向实战:AST技术让你轻松破解OB混淆保护!

LLLibra146

js AST 逆向 混淆

对话式 AI 硬件开发者都关心什么?低延迟语音、视觉理解、Always-on、端侧智能、低功耗……丨 RTE Meetup 回顾

声网

“破冰”探索两周年,AI和媒体碰撞出了什么火花?

Alter

PIRF:422 Language Goofs – Egg Corns

Echo!!!

English

Elmedia Player Pro:MacOS上的全能音视频播放器!

Rose

软件测试丨从自动化软件测试到自主测试,还差几步?

测试人

软件测试

什么是身份治理和管理(IGA)

运维有小邓

iam IT 运维

CAD快速看图 v9.9.9 VIP激活版

理理

(永久密钥许可证)JetBrains WebStorm 2022中文版

理理

AI英语考试APP的测试

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

好用的macOS壁纸软件Dynamic Wallpaper 臻选4K高清动态壁纸

Rose

【永久破解】Photoshop 2025(PS2025)最新安装包

Rose

春节返乡,记得带上这全国34个省的AI人脉……

脑极体

AI

AI英语考试APP开发的技术难点

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

Down哔哩(bilibili下载器)+哔哩哔哩迷你客户端

理理

Go 语言高性能最佳实践

FunTester

Waves15 Complete(音频后期混音套件)激活特别版及安装教程分享

Rose

微店商品详情接口(微店API系列)

tbapi

微店API接口 微店商品详情接口

全新After Effects 2025破解资源(AE2025中文安装包)

理理

iNet Network Scanner:Mac用户的网络监控与管理利器!

Rose

InCopy 2020中文破解资源(IC 文案编辑处理软件)

理理

逆向购物新浪潮?揭秘反向海淘与入局指南

代码忍者

反向海淘系统搭建

TinkerTool System 9:Mac系统优化与维护的全能助手!

Rose

Avid Sibelius Ultimate破解版(西贝柳斯乐谱软件)

理理

Bridge 2025新增功能 及br2025中文破解安装教程分享

理理

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