分享好友 最新动态首页 最新动态分类 切换频道
Docker 监控之 SaaS 解决方案
2024-12-26 20:32

过去的一年中,关于 Docker 的话题从未断过,而如今,从尝试 Docker 到最终决定使用 Docker 的转化率依然在逐步升高,关于 Docker 的讨论更是有增无减。另一方面,大家的注意力也渐渐从 “Docker 是什么”转移到“实践 Docker”与“监控 Docker”上。

本文转自刘斌博文「如何选择 Docker 监控方案 」,文中刘斌从技术的角度深入解释了 Docker 监控的数据采集原理,介绍了现有开源的监控方案,以及能 够对 Docker 进行监控功能的主流 SaaS 服务工具。

上一篇文章中,我们了解了开源的 Docker 监控方案,本篇听听斌哥介绍 Docker 监控的 SaaS 解决方案!!

  • turnkey解决方案
  • 维护成本 ~ Zero
  • 适合中小企业

对于中小型企业尤其创业公司来说,自主开发或者直接利用现有的开源工具进行监控都有一些问题,主要是成本和风险的问题。对于中小企业,应该先把精力集中在发展核心业务,能外包的就先不自己做。而且很多中小公司大家都是全栈,没有专门的运维人员,都是临时抱佛脚,随时都会变成救火队员。

SaaS最大的优点是什么?那就是免运维,开箱即用,修改的代码少甚至不需要修改代码,或者只需要简单的安装一个agent就可以工作了。很多SaaS软件的开场白都是运行一条 ,然后倒上一杯咖啡等几分钟,就能看到数据了。

你的初期投入非常小,上手非常快,而且成本比较低(如果你的公司已经有数百上千服务器了,则这部分成本可能会变高,就跟是自建机房还是用云主机的对比一样)。

传统APM一般也都提供了对Docker的监控:

  • New Relic
  • AppDynamics
  • Dynatrace(Ruxit)

最近也有很多专门用于基础设施监控的SaaS服务

  • Datadog
  • SysDig
  • Cloud Insight
  • clusterup
  • Scout

RancherLab公司有人写了篇文章,大家可以参考下。这篇文章名为《Comparing Seven Monitoring Options for Docker》,即对比了七种不同的监控Docker的方案,包括使用 docker stats 命令, cAdvisor, Prometheus ,Sensu,以及saas服务 Scout, Sysdig Cloud and DataDog等方案,作为结论作者觉得Datadog是这其中最优秀的方案。

RancherLab有一个产品叫RancheOS,是一个专门为了运行Docker准备的微型Linux版本,它的口号是“The perfect place to run Docker”。跟CoreOS类似,但是貌似功能不如CoreOS多,也没有CoreOS有名,也没有CoreOS中fleet、flannel和etcd这样的组件,尤其是etcd,可以说是CoreOS的副产品,但是几乎成了Docker业界标准的kv store和服务发现组件了。

  • 国外最好
  • 功能很强大
  • 安装很简单

国外最流行的SaaS解决方案是Datadog,国内可能比较成熟、规模较大的应该算是Cloud Insight了。这类服务用户只需要注册一个账号,按照安装过程通过一条命令来安装探针即可在web展示端看到数据。

要说到Datadog的不足,那就是在国外,网络延迟需要考虑,万一哪天不科学了也需要有所准备。价格方面Datadog也比较贵。免费plan支持5台机器,而且只保留一天的数据,而且没有报警功能。收费版15美元一台主机,支持报警功能,数据存储13个月。

说道SaaS,不得不提客服,直接面对非母语客服人员交流起来肯定会有诸多不顺吧。

  • 实时数据
  • 历史数据
  • 仪表盘
  • 混合监控
  • 报警功能

当然,最便宜的还是Cloud Insight,有多便宜呢,官方定价的话3个探针以下是免费的,支持超过3台主机的话,平均每天1快钱。这只是官方定价,实际上还会便宜,貌似联系客服就可以知道有多便宜了。

Cloud Insight的图表功能也很丰富,能对任何指标以图表的方式展示,还能在图表上叠加事件,比如报警通知、服务启动停止等,能在观察到metric变动趋势的同时,看到相应的时间,了解metric发生变动的原因。比如CPU load超过一定值时,可能触发报警,这时你能在图表上看到相应的事件,同样,如果CPU load一直不是很低,但是从某一时间点开始变低了,你可能也能从一次新的代码部署中了解原因。

Cloud Insight还支持ChatOps集成,包括国内的 BearyChat 和简聊。随着devops文化的普及,相信这些工具的重要性也会与日俱增。不过貌似简聊已经开源了(不运营了?)。

  • 免费工具
  • SaaS服务 Sysdig Cloud
  • 拓扑可视化

可以认为sysdig是strace + tcpdump + htop + iftop + lsof + 众多linux常用的系统监控命令的合体。

如果你熟悉tcpdump,那么你知道它能还原整个网络流量,而sysdig则是操作系统级别的监控工具,能捕捉到所有OS事件和数据。而且sysdig原生支持Linux container,包括Docker和LXC,提供了基本的指标监控信息。除了性能指标,sysdig还能采集trace等日志信息,用于以后的问题分析和解决。

Sysdig Cloud是sisdig的SaaS版,除了基本的单机sysdig功能之外,还提供了跨平台跨基础设施的组件间依赖关系的可视化。

  • 数据聚合平台
  • 简单探针
  • 图表和报警
  • 价格不贵

Librato是一个数据聚合平台,而不是严格意义的监控系统。

Librato很容易从AWS CloudWatch和Heroku获得数据,如果是自己监控主机或者Docker,需要使用Collectd框架。它也有很多插件,可以从StatsD、Riemann等数据源采集数据。

Librato的探针虽然功能不是强大,但是他提供了丰富的实时在线数据处理功能,用户可以使用DSL对任意时间序列数据组合进行数学运算,比如加减乘除、比率导数等。还支持和时间窗口滑动功能,即跟过去某一段时间进行比较。

Librato也支持报警,基于metric和条件,设置报警信息。

Librato是按照metric的个数和时间分辨率来收费的,在官网的主页上有一个大概的估算,如果你有20个metric,并且时间间隔为60秒,则一台服务器的价格只有2美元1个月,这比datadog要便宜。

  • 非开源TSDB
  • 支持报警
  • 预测功能

作为TSDB,ATSD支持长时间存储高精度的metric数据。ATSD支持多种数据采集工具和协议,比如tcollector, Collectd,当然ATSD也支持从多台Docker主机手机指标数据,并长期保存,进行可视化和分析。

除了传统的时间序列数据,ATSD还支持属性(Properties)和消息这两种类型的数据。属性一般用于保存meta data,这有点类似标签。和OpenTSDB一样,ATSD也支持tag,我们可以使用这些tag进行过滤和聚合。

ATSD内置了自动回归推断算法(holt-winters,arima),可以提早预测故障。预测功能的准确性取决于数据的采集频率,保存时间(也就是数据量大小)和算法。

最大的遗憾,就是ATSD不是开源,也不是免费的软件,不过他们提供了一个社区版可以免费使用,但是你只能在一个节点上安装ATSD,而且不能用于盈利性服务,也不能对软件进行修改以及再发布。

如果我们只是评估一下,或者想自己构建监控方案,它的产品设计还是非常值得我们来借鉴一下。

数据敏感性

采用SaaS,意味着你的数据都将会保存到公网,可能会带来心理不安全感。实际上SaaS反而会更安全些,尤其是对中小公司没有专门的安全运维团队的情况下。

成本(迁移和使用成本)

一般来说这是一个一次性投入成本。而对于大公司来说,就像公有云一样,成本可能会成为问题。

内部抵抗(观念、个人爱好)

来自技术人员自身的抵抗,不是每个人都喜欢自己变得轻松,使用SaaS可能会给一些人带来工作上的不充实感。

一种观点:监控服务状态胜过监控个别容器,通过tag机制对服务整体的性能指标进行聚合。

Tag可以是任何维度,比如BU,地区,服务,甚至个别容器。

比如Docker和Kubernetes等都支持label机制,即tag机制。

启动Daemon:

启动容器:

Dockerfile:

通过API化实现共赢。开源软件比如fluentd、Collectd等,都支持插件功能。包括Docker本身,也在1.11版本中,采用了runC作为容器运行时,在上面通过containerD来统一控制,来支持符合OCI标准的容器。

包括从探针到展示、告警,就是现在类似Datadog和Cloud Insight这样的产品,以及支持中间件的详细程度,就像一个大市场,什么都能买到,不管你用什么软件,平台都能提供监控。

这就像是去了酒吧突然想吃碗拉面,然后竟然酒吧能给你做出来的那种感觉。

另一个层面就是从RUEM(实时用户体验管理)到基础设施层的 打通 。比如你看到某URL的用户HTTP响应较慢,如果不能跟后端的APM打通,你尽管能识别出问题,但是你不知道如何解决。如果和后端的APM以及基础设施监控打通,你就能定位到HTTP响应慢时,相应的后端代码的位置,并根据后端代码的位置从而进一步找到MySQL的监控数据以及系统异常事件,立刻知道问题的根本原因所在并解决问题,可以说效率应该能提高几个数量级。

系统监控工具如果能够做到 All in One,真的对解决人力和时间成本上有非常大的帮助。

跨组件、跨基础设施和应用,自动识别组件以及组件之间的依赖关系,以帮助更好的发现问题和解决问题。

这类服务有:

  • Weave Scope
  • Ruxit
  • Sysdig

-- 全文完 --


更多 Docker 监控内容,请关注 OneAPM Blog_Cloud Insight 版块。数据监控及管理平台 Cloud Insight,让数据监控及可视化更容易。

最新文章
怎样提高历史成绩_高中历史备考攻略
  高中历史是文综的重要组成部分,历史成绩直接关系到高考成绩,那么,怎样提高历史成绩呢?下面我们就针对历史学科的复习方法、备考策略来为大家讲解提高历史成绩的窍门,希望大家能更快的领悟其中的精髓。  高中历史复习技巧及方法 
PLTR、APP之后必买的企业级人工智能应用公司
来源:雪球App,作者: sheerl,(https://xueqiu.com/8827358272/316360119)SoundHound AI(纳斯达克代码:SOUN)是一家市值达56亿美元的对话式人工智能应用开发商,正在引领向基于语音的人工智能客户服务的代际转型。除了在企业解决方案
百度收录网站,主动推送(Python)
说明: 当自己创建网站后,在百度上搜索自己德网站时,会显示魏找到内容或者显示无关的内容。如何提交自己的网站让百度快速收录。下面将演示如何主动提交的网站链接 1. 需要将自己的网站链接编辑成Sitemap(即站点
这一年,人工智能“生成”精彩
即将过去的2023年,以大模型为代表的生成式人工智能(AIGC),掀起了全球人工智能技术发展的新浪潮。被赋予想象和可能的生成式人工智能不仅影响着人类的生活和生产方式,也为各行各业的的创新发展和转型升级提供了新的工具和视角。 大模型掀
程序员一定要知道的11个实用工具网站
1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站  9、项目开源 10、算法 11、在线工具宝典大全 程序员开发需要具备良好的信息检索能力,为了备忘(
豆包ios版
豆包苹果版是一款多功能AI助手,为用户的生活、学习、工作提供帮助。豆包作为一款人工智能,它可以为你答疑解惑、提供创作灵感、辅助你的学习,如果有不懂的地方,打开软件就能直接输入提问,还支持语音功能,让你们自由对话。除此之外,它
小红星 “小红书”与“淘宝联盟”合作项目解析
“小红星”是小红书与淘宝联盟携手共建的合作项目,以下是对该项目的详细介绍:一、项目背景与目的二、项目运作方式品牌伙伴可以在淘宝联盟内找到“星任务”入口,开通星任务权限,并充值后发布种草任务。创建执行任务组时,单任务组金额需
高清美女写真生成器:用AI画出你的梦中女友!
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个充满科技的新时代,AI技术实现了许多曾经只能在梦中才能看到的场景,尤其是在生成艺术
真的还有比搬瓦工VPS还便宜的云主机?
来源:DOIT 作者:朱朋博 笔者体验过AWS、Azure、阿里云、腾讯云、青云、谷歌云等多个云服务,作为一个资深云羊毛党,感受还挺多的,好吧。今天为同样喜欢云,想用云的朋友推荐一款全国大部分人民都能用得起的云服务,甚至包括笔者这样,挣
百度蜘蛛池价格:怎么建蜘蛛池教程图解,轻松搭建高效网站抓取工具
本教程图解展示如何轻松搭建高效网站抓取工具——百度蜘蛛池,详细介绍蜘蛛池价格及构建步骤,助您快速掌握网站数据抓取技巧。本文目录导读:蜘蛛池的作用搭建蜘蛛池的步骤图解教程注意事项随着互联网的快速发展,网站数量日益增多,搜索引
相关文章
推荐文章
发表评论
0评