云基础设施提供商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
本文转自d1net(转载)