云基础设施提供商 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 Relic 、 Dynatrace 和 Datadog 在不断演化其产品,以满足新的需求。新出现的解决方案也都引起了业界的关注,比如 Prometheus 、 Pivotal Cloud Foundry Metrics 、 Honeycomb 和 Zipkin 。
DigitalOcean 的监控是免费使用的,在全球范围内的八个机房都可以访问。在宣布该项服务的博客文章的结尾,DigitalOcean 给出了这项服务的未来规划。
监控服务的第一个迭代成果已经和大家见面了,我们已经致力于下一个迭代的工作。很快将会推出的特性包括:
- 对告警策略的 API 支持
- 告警的可视化增强
- 监控块存储(Block Storage)
- 将告警通知外部服务的 Webhooks
评论