DigitalOcean 添加监控和告警特性

  • Richard Seroter
  • 张卫滨

2017 年 5 月 14 日

话题:DevOps语言 & 开发

云基础设施提供商DigitalOcean最近释放了监控服务器和发送告警的功能。尽管这不是什么新奇的功能,但是这个免费的特性带有一定的象征性,代表了行业越来越关注服务器和应用内部的运行情况。

DigitalOcean 的监控服务是基于 agent 的。它能用于新的和已有的虚拟机(被称为“droplets”)。开发人员可以在供应基于 Linux 的 droplets 时安装这个agent,也可以在事后运行一个构建脚本。agent 会捕获各种指标,包括:CPU、内存使用、磁盘 I/O、磁盘使用率、输入带宽和输出带宽。这些指标只能通过仪表盘来查看,无法通过 API 访问。因为这些指标是通过内置(on-box)的 agent 来收集的,像“top 进程”这样的信息也是可以获取到的。开发人员能够创建告警策略,当达到一定的性能阈值就会产生警报。这些策略可以用于单个 droplet,也可以用于一组 droplet。报警能够通过 Email 地址或 Slack channel 来进行发送。DigitalOcean 最多会将指标信息存储 30 天。但是,如果用户销毁某个 droplet 的话,指标信息也会立即消除。

在提供监控服务之前,DigitalOcean依赖于合作伙伴来弥补这块缺失的功能。DigitalOcean 的联合创始人 Mitch Wainer对记者 Ben Kepes 说,他们的核心合作伙伴并没有对这些功能感到惊讶。

当然,对于 Wainer 来说,一个明显的问题在于如何处理与 DigitalOcean 已有的合作伙伴的关系。Wainer 非常开放和坦诚,他承认这会影响到合作伙伴。但是他很快补充说,DigitalOcean 一直对它的发展意图非常开放,给了这些供应商很长的时间来准备这种变更。

其他主要的 IaaS 厂商也支持范围广泛的合作伙伴,但是多年来一直都会提供内置的监控功能。Amazon CloudWatch有一个用于服务器监控的免费层级(free tier),能够存储性能数据超过一年的时间。另外,AWS 还提供了可视化、告警、API 访问、更高级的层级(需要收取一定费用)、自定义指标和日志监控的功能。微软为 Azure 虚拟机也提供了综合的监控功能。用户可以创建告警,将指标归档到长期存储中,然后通过 API 来消费和查询数据。Google Stackdriver 监控支持 Google Compute Engine 和 AWS 服务器。它有一个免费层级,同时还有一个更高层级的服务。与其他的 IaaS 供应商类似,Google 提供了自定义指标、告警策略、丰富的提醒方案、API 访问等功能。

用户对服务器和应用监控的期望在发生着变化。The New Stack 的一份报告指出了容器化对监控需求会带来什么样的影响。临时性服务(Ephemeral service)、要跟踪的“东西”呈现多样化、关注“服务”而不是“服务器”以及新类型的终端用户,上述的这些变化都导致传统的监控方式力不从心。临时性服务意味着厂商需要有新的方式来定价,因为服务实例会随时加入或销毁。为了应对更复杂的应用拓扑架构所带来的挑战,AWS 在 2016 年引入了 X-Ray。在帮助现代团队监控服务和解决问题方面,工具和服务出现了爆炸性地增长。已有的厂商,比如New RelicDynatraceDatadog在不断演化其产品,以满足新的需求。新出现的解决方案也都引起了业界的关注,比如PrometheusPivotal Cloud Foundry MetricsHoneycombZipkin

DigitalOcean 的监控是免费使用的,在全球范围内的八个机房都可以访问。在宣布该项服务的博客文章的结尾,DigitalOcean 给出了这项服务的未来规划。

监控服务的第一个迭代成果已经和大家见面了,我们已经致力于下一个迭代的工作。很快将会推出的特性包括:

  • 对告警策略的 API 支持

  • 告警的可视化增强

  • 监控块存储(Block Storage)

  • 将告警通知外部服务的 Webhooks

查看英文原文DigitalOcean Adds Monitoring and Alerting Features

DevOps语言 & 开发