Canonical 访谈

2016 年 11 月 16 日作者 Brian Brazil

我们继续对 Prometheus 用户的系列采访,本期 Canonical 将谈论他们如何过渡到 Prometheus。

您能介绍一下您自己以及 Canonical 的业务吗?

Canonical  最为人所知的可能是作为 Ubuntu Linux 的赞助公司。我们还开发或贡献了许多其他开源项目,包括 MAAS、Juju 和 OpenStack,并为这些产品提供商业支持。Ubuntu 为绝大多数 OpenStack 部署提供了支持,占据了 55% 的生产云和 58% 的大型云部署 

我所在的团队 BootStack 是我们的全托管私有云服务。我们为 Canonical 的客户构建和运营 OpenStack 云。

在使用 Prometheus 之前,您的监控体验是怎样的?

我们之前使用了 Nagios Graphite /statsd  以及内部开发的 Django  应用的组合。这些工具无法为我们在内部和客户云环境中提供所需的灵活性和报告水平。

你们为什么决定研究 Prometheus?

我们评估了一些替代方案,包括 InfluxDB  和扩展我们对 Graphite 的使用,但我们对 Prometheus 的初次体验证明了它兼具我们所寻求的简洁性和强大功能。我们尤其欣赏标签的便利性、简单的 HTTP 协议以及开箱即用的时序告警功能。用 Prometheus 这一种工具来替代告警和趋势分析这两种工具的潜力尤其吸引人。

此外,我们有几位员工在 Google 工作期间有过使用 Borgmon 的经验,这大大增加了我们的兴趣!

你们是如何过渡的?

我们仍在过渡过程中,由于我们现有系统中使用了大量的自定义检查,这些检查都需要在 Prometheus 中重新实现,因此我们预计这需要一些时间。最有用的资源是 prometheus.io 网站的文档。

我们花了一段时间来选择一个导出器(exporter)。我们最初选择了 collectd ,但遇到了它的局限性。我们现在正在编写一个 openstack-exporter ,但有点惊讶地发现没有一个好的、可用的示例来展示如何从零开始编写导出器。

我们遇到的一些挑战是:不支持数据降采样(downsampling),没有长期存储解决方案(目前还没有),并且我们对默认的 2 周数据保留期感到惊讶。目前还没有与 Juju 的集成,但我们正在努力解决这个问题 

切换后你们看到了哪些改进?

一旦我们掌握了导出器的窍门,我们发现它们非常容易编写,并且为我们提供了非常有用的指标。例如,我们正在为我们的云环境开发一个 openstack-exporter。我们也看到我们的 DevOps、WebOps 团队和开发人员迅速地进行了跨团队采纳。我们尚未部署告警功能,但期望在过渡到这个阶段后会有更多的进展。

您认为 Canonical 和 Prometheus 的未来会是怎样的?

我们预计 Prometheus 将成为我们监控和报告基础设施的重要组成部分,为众多当前和未来的系统提供指标收集和存储。我们认为它有潜力取代 Nagios 用于告警。